虚函数:
目的:为了引起晚绑定
实现方法:在声明函数时使用virtual关键字
纯虚函数:
目的:提供抽象的接口
实现方法:virtual int foo()=0;
特点:如果一个类中包含纯虚函数,则该类的VTABLE是不完整的,故而无法生成该类的对象。这样的类称为纯抽象基类
纯抽象基类,也称为纯虚类:
目的:提供抽象的接口
实现方法:包含纯虚函数
特点:不能生成该类的对象
虚基类:
目的:为了消除二义性
实现方法:virtual继承
特点:一个类既可以作为某个类的虚基类,也可以作为另一个类的非虚基类。