第三十五節 C 抽象基類和純虛函式

2021-08-18 20:30:44 字數 553 閱讀 6132

#include using namespace std;

/* 抽象基類:不能被例項化的基類。 它僅僅只有乙個用途,用來派生出其他類。

* 1. 要定義抽象基類,可使用純虛函式,純虛函式可當做介面使用

* 2. 基類的純虛函式,在派生類中必須實現。 虛函式可以不用必須實現

*//*定義抽象基類*/

class baseclass ;

/*例項化物件時,將建立兩個物件,子物件和基類物件,通過從呼叫的建構函式可以看出*/

class sonclass : public baseclass //若不實現此函式,編譯將會出錯

sonclass()

~sonclass()

};class son2class : public baseclass //若不實現此函式,編譯將會出錯

son2class()

~son2class()

};void baseinput(baseclass& base)

int main()

C 抽象基類和純虛函式

為什麼c 要定義抽象基類?c 為什麼要定義抽象基類?抽象類就是類裡定義了純虛成員函式的類。純虛函式只提供了介面,並沒有具體實現。抽象類不能被例項化,通常是作為基類供子類繼承,子類中重寫虛函式,實現具體的介面。為什麼要定義抽象基類呢?依我所見主要有以下原因 1.最重要的原因是,可以將介面與實現分離。介...

c 純虛函式和抽象基類

c 物件導向程式設計的思想之一是可以使用繼承。繼承中乙個重要的思想是使用抽象基類 abstract base class,abc 假設我們開發乙個程式,需要使用橢圓和圓兩種圖形。因為圓是橢圓的一種特殊情形,根據繼承 is a 的思想,自然會想到先定義乙個eclipse類,再將circle類繼承自ec...

純虛函式和抽象基類

純虛函式的格式 virtual 型別 函式名 參數列 0 而我們的純虛函式經常被用來構建抽象基類。抽象基類 當我們僅想對基類進行向上型別轉換,使用它的介面,而不希望使用者實際地建立乙個基類的物件,那麼我們就在基類中加入至少乙個純虛函式 pure virtual function 來使基類稱為抽象 a...