1.不要有成员变量,
可以有静态常量(static const或enum),主要用于状态的返回
2.要有纯虚接口方法
3.要有虚析构函数,并提供默认实现
主要原因是在delete时,如果接口类没有析构函数的话,只会调用
接口类的析构函数,子类的析构函数不被调用,会内存泄露
4.析构函数直接在头文件实现就好如下
virtual ~ITest() = 0 {};
5.不要声明构造函数,
也不要使用代码禁止生成构造函数
1.不要有成员变量,
可以有静态常量(static const或enum),主要用于状态的返回
2.要有纯虚接口方法
3.要有虚析构函数,并提供默认实现
主要原因是在delete时,如果接口类没有析构函数的话,只会调用
接口类的析构函数,子类的析构函数不被调用,会内存泄露
4.析构函数直接在头文件实现就好如下
virtual ~ITest() = 0 {};
5.不要声明构造函数,
也不要使用代码禁止生成构造函数