虚函数、纯虚函数和抽象类
1. 虚函数
基类中用virtual声明的成员函数。其允许派生类重写,并在通过基类指针或引用调用时发生运行时绑定,也就是多态。
class Base
{
public:
virtual void func(){}
};
2. 纯虚函数
在虚函数后面加=0的函数,表示这个函数在当前类中只定义接口,不给出默认实现。
class Base
{
public:
virtual void func() = 0;
};
3. 抽象类
只要类中包含至少一个纯虚函数,这个类就是抽象类。抽象类不能定义对象,只能作为基类用于接口设计。
class Base
{
public:
virtual void func() = 0;
};
Base b; // 报错,抽象类不能实例化
4. 关系
-
纯虚函数是一种特殊的虚函数。
-
含有纯虚函数的类就是抽象类。
-
抽象类用于定义统一接口,派生类去实现具体行为。
1018



被折叠的 条评论
为什么被折叠?



