C++ 抽象基類


——不能創建對象,只能派生出新類的類是抽象基類ABC(作為模板)。

  純虛函數。

  包含純虛函數的類是抽象基類。

 

  純虛函數

  純虛函數聲明:虛函數的結尾處加上=0。

  C++通過使用純虛函數提供未實現的函數,但仍可以在實現文件中提供方法的定義。

class BaseEllipse    // abstract base class
{
private:
    ....
public:
    ...
    virtual double Area() const = 0;    // a pure virtual function
    ...
}

  給出方法定義:

void BaseEllipse::Move(int nx, ny) { x = nx; y= ny; }

 

  抽象基類ABC

  在原型中使用=0(即至少聲明一個純虛成員函數)指出類是一個抽象基類,在類中不可以定義該函數。

 

  類聲明中包含純虛函數時,不能創建該類的對象。

  使用抽象基類派生出的類被稱為具體類,這表示可以創建這些類型的對象。

  

  ABC理念

  ABC要求具體派生類覆蓋其純虛函數(實現)——迫使派生類遵循ABC設置的接口規則。

 

-----


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM