——不能建立對象,只能派生出新類的類是抽象基類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設置的接口規則。
-----