C++介面


抽象類是在C++中實現抽象的方式。 C++中的抽象是隱藏內部細節和僅顯示功能的過程。 抽象可以通過兩種方式實現:

  • 抽象類
  • 介面

抽象類和介面都可以有抽象所需的抽象方法。

C++抽象類

在C++類別中,通過將其函式中的至少一個宣告為純虛擬函式,使其變得抽象。 通過在其宣告中放置「= 0」來指定純虛擬函式。 它的實現必須由派生類提供。

下面來看看一個C++中的抽象類的例子,它有一個抽象方法draw()。 它的實現由派生類:RectangleCircle 提供。 這兩個類對抽象方法draw()有不同的實現。

#include <iostream>  
using namespace std;  
 class Shape    
{    
    public:   
    virtual void draw()=0;    
};    
 class Rectangle : Shape    
{    
    public:  
     void draw()    
    {    
        cout < <"drawing rectangle..." < <endl;    
    }    
};    
class Circle : Shape    
{    
    public:  
     void draw()    
    {    
        cout <<"drawing circle..." < <endl;    
    }    
};    
int main( ) {  
    Rectangle rec;  
    Circle cir;  
    rec.draw();    
    cir.draw();   
   return 0;  
}

執行上面程式碼,得到以下結果 -

drawing rectangle...
drawing circle...