纯虚函数和抽象类函数
含有纯虚函数的类就叫作抽象类,抽象类是不可以实例化对象的(只要存在纯虚函数就不能实例化)。spa
在抽象类当中,仅含有纯虚函数的类就叫作接口类(没有数据成员,仅含有成员函数,并且全部code
的成员函数都是纯虚函数)。对象
接口类更可能是用来表达一种能力或者协议。blog
纯虚函数的定义:接口
1 class CBaseClass { 2 public: 3 CBaseClass(void); 4 virtual ~CBaseClass(void); 5 6 virtual void Fun(void) = 0; // 纯虚函数 7 private: 8 };
因为纯虚函数并无函数实体,因此虚函数表当中使用0来做为标示纯虚函数,这也做为结束标志的class
0是同样的。须要注意的是虚函数表中用来表示纯虚函数和虚函数表结束的标志不必定是0,不一样的平台数据
多是不同的。协议