抽象類是在C++中實現抽象的方式。 C++中的抽象是隱藏內部細節和僅顯示功能的過程。 抽象可以通過兩種方式實現:
抽象類和介面都可以有抽象所需的抽象方法。
在C++類別中,通過將其函式中的至少一個宣告為純虛擬函式,使其變得抽象。 通過在其宣告中放置「= 0
」來指定純虛擬函式。 它的實現必須由派生類提供。
下面來看看一個C++中的抽象類的例子,它有一個抽象方法draw()
。 它的實現由派生類:Rectangle
和Circle
提供。 這兩個類對抽象方法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...