C++ 抽象基類

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

 

-----

相關文章
相關標籤/搜索