几个概念
- 虚函数:impure virtual
- 纯虚函数:pure virtual
- 抽象类:包含纯虚函数的类称为“抽象类”;抽象类不能使用new出对象,只有实现了这个纯虚函数的子类才能new出对象。
- 虚继承:在继承定义中包含了virtual关键字的继承关系;
- 虚基类:在虚继承体系中的通过virtual继承而来的基类,需要注意的是:
struct CSubClass : public virtual CBase {};
其中CBase称之为CSubClass的虚基类,而不是说CBase就是个虚基类,因为CBase还可以不不是虚继承体系中的基类。 - 只包含虚函数的类不是抽象类,更不是虚基类。
举例
|
|