cpp-接口类

C++中如何定义接口类?
首先给接口类下了定义:接口类应该是只提供方法声明,而自身不提供方法定义的抽象类。接口类自身不能实例化,接口类的方法定义/实现只能由接口类的子类来完成。

而对于C++,其接口类一般具有以下特征:

  1. 最好不要有成员变量,但可以有静态常量(static const或enum)
  2. 要有纯虚接口方法
  3. 要有虚析构函数,并提供默认实现
  4. 不要声明构造函数
class Testable
{
public:
static const int START = 1; // #1
static const int STOP = 2;

virtual void test() = 0; // #2: 接口方法

virtual ~Testable() = default; // #3: 从C++11开始可以:
}