= 0这个声明的部分意味着什么?
class KeyboardListener
{
public:
virtual bool keyPressed(void) = 0;
}
Run Code Online (Sandbox Code Playgroud)
这意味着成员函数是纯虚拟的,这意味着它根本没有实现.因此,该类无法实例化(它变为"抽象"),并且它只能用作基类,其派生类必须(最终)实现虚拟成员函数.
一个例子是具有Animal纯虚拟成员函数的抽象类feed():由于每个动物总是具体(即衍生)动物的实例,因此不存在纯粹抽象的动物.虽然动物有一些喂食方式,但每种动物都没有通用的基本实施方法 - 我们只知道它feed()存在,但它必须始终由具体的衍生动物具体实施.
(请注意,您可以实际提供了一个纯虚函数的实现.你仍然不能实例化这样一个类,但是派生类可以调用基函数,这是非常有用的很少,可能风格差.)
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |