C 中的純虛函式 抽象類 介面

2021-08-29 02:40:46 字數 559 閱讀 1675

要了解純虛函式,先要知道虛函式是什麼:

純虛函式就是沒有函式體的虛函式,通常都以下列格式定義純虛函式:

class 《類名》

在虛函式後面加"=0",這並不代表虛函式返回值為0,這只是純虛函式的表示形式。純虛函式是一種特殊的虛函式。

我們說,如果乙個類中含有純虛函式(乙個及以上),則這個類就是乙個抽象類。c++的抽象類判定條件就是看這個類是否含有純虛函式。

對於含有純虛函式的類,也就是我們說的抽象類,是不能例項化的。同時,也沒有必要例項化抽象類。因為抽象類的誕生就是作為基類來使用的,為其派生類做貢獻。這樣,我們就可以用抽象類(基類)指標呼叫子類函式了。

介面

c++中的介面的定義也和純虛函式有關。介面是一種特殊的類,比抽象類還要特殊:

如果乙個類裡包含純虛函式,那麼這個類就是抽象類;

如果乙個類中只包含純虛函式,那麼這個類就是乙個介面;

所以,介面也是一種特殊的抽象類。

c 抽象類 純虛函式

1 錄入下面程式,分析編譯錯誤資訊。include include include using namespace std class abstract virtual void f 0 int main 分析 這個程式最大的問題就是abstract p new abstract 定義了乙個抽象類的...

抽象類 純虛函式

在程式中,有些時候我們的基類是不需要例項化的,比如有乙個基類哺乳動物,這個在程式實現的時候沒有必要把他例項化出來。而只是乙個種群的抽象描述,也 無法進行例項化。所以在c 我們可以建立一種叫做抽象資料型別的類。這個類 只是用來繼承的,單獨沒有例項化,沒有意義。其實這也是減少了程式設計師編寫 後除錯的除...

虛函式,純虛函式,抽象類

1 虛函式 include includeusing namespace std class animal 執行結果 2 純虛函式 抽象類 include includeusing namespace std class animal class mouse public animal void c...