接口类使用的一些准则
1. 接口类的定义
接口类是一种特殊的类,它只提供方法的声明,方法的定义在子类中完成;同时接口类无法被实例化。
2. 接口类的特征
- 最好不要有成员变量,但可以有静态常量,表示各种返回状态;
- 要有纯虚接口方法,让接口成为纯虚类,使之无法完成实例化;
- 要有虚析构函数,并提供默认实现,这个主要是为了防止子类动态申请的内存出现泄露;
- 不要声明构造函数,因为接口类无需初始化,使用默认构造函数即可;
示例代码如下:
#include <iostream> using namespace std; class bird { public: virtual void fly() = 0; virtual string getColor() = 0; virtual ~bird() { cout << "~ bird" << endl; } }; class maiQue :public bird { public: void fly(){ cout << "maiQue fly" << endl; } string getColor(){ return "hei se"; } }; class xiQue :public bird { public: void fly(){ cout << "xiQue fly" << endl; } string getColor(){ return "hong se"; } ~xiQue(){ cout << "~ xiQue" << endl; } };