具体类、虚类、抽象类(纯虚类)、接口
先明确 虚函数 和 纯虚函数 的概念
1. 虚函数(impure virtual):也称为“虚方法”,在类中声明为 virtual 并实现了的成员函数。
2. 纯虚函数(pure virtual):也称为“抽象函数”或“抽象方法”,一种特殊的虚函数,在类中没有给出该虚函数的实现,它的实现留给该基类的派生类去做。
具体类、虚类、抽象类(纯虚类)、接口 的定义:
1. 具体类,即没有纯虚函数的类。
2. 虚类,即含有虚函数但不含有纯虚函数的类。
3. 抽象类,即含有纯虚函数和非虚函数的类。
4. 接口,即所有成员函数都是纯虚函数的类。
具体类和虚类可以实例化,但抽象类和接口都不能实例化。