——不能建立对象,只能派生出新类的类是抽象基类ABC(做为模板)。函数
纯虚函数。spa
包含纯虚函数的类是抽象基类。code
纯虚函数对象
纯虚函数声明:虚函数的结尾处加上=0。blog
C++经过使用纯虚函数提供未实现的函数,但仍能够在实现文件中提供方法的定义。接口
class BaseEllipse // abstract base class { private: .... public: ... virtual double Area() const = 0; // a pure virtual function ... }
给出方法定义:ip
void BaseEllipse::Move(int nx, ny) { x = nx; y= ny; }
抽象基类ABC原型
在原型中使用=0(即至少声明一个纯虚成员函数)指出类是一个抽象基类,在类中不能够定义该函数。io
类声明中包含纯虚函数时,不能建立该类的对象。function
使用抽象基类派生出的类被称为具体类,这表示能够建立这些类型的对象。
ABC理念
ABC要求具体派生类覆盖其纯虚函数(实现)——迫使派生类遵循ABC设置的接口规则。
-----