多型性(純虛函式與抽象類)

2021-06-08 05:13:28 字數 662 閱讀 1718

將乙個虛函式初始化為0之後,該函式就變成了純虛函式。如:

viurtual  double area() = 0;

這個虛函式是無任何的功能,不能直接來呼叫,因為它是抽象的,只有被子類繼承並賦予功能後才可呼叫。乙個類可以有多個純虛函式,但是只要有乙個純虛函式給類就是抽象類。

抽象類只是乙個概念,就如同人類一樣,沒有任何的功能,人類這個概念不能吃飯,不能睡覺,只有實體的人才可以具有以上的功能。再比如書中所提到的自行車,你是不能騎的,這只是乙個概念。下面我們通過乙個程式來說明純虛函式與抽象類的應用。

#includeusing namespace std;

class shape

;class a :public shape //三角形公有繼承

double area() };

class b : public a//長方形共有繼承於三角形

double area() };

class c :public shape //圓的繼承與實現

double area() };

void main()

}

程式的執行的結果是:

C 虛函式,多型性,純虛函式,抽象類

一 虛函式 1.用virtual關鍵字宣告的函式叫虛函式 虛函式標明在基類宣告的虛函式是虛擬的,並不是實際存在的函式,在派生類中才會正式定義此函式 虛函式的作用是允許在派生類中重新定義與基類同名的函式,並且可以通過基類指標或引用來訪問基類和派生類中的同名函式 eg class a class b p...

多型性 虛函式 抽象類

一 多型性 指相同物件收到不同訊息或不同物件收到相同訊息時產生不同的實現動作。c 支援兩種多型性 編譯時多型性,執行時多型性。1.編譯時多型性 通過過載函式實現 2.執行時多型性 通過虛函式實現。二 虛函式 虛函式是在基類中被宣告為virtual,並在派生類中重新定義的成員函式。可實現成員函式的動態...

C 多型性 (多型性)虛方法 抽象類

多型性 虛方法 1 在父類的方法中加入virtual,這個方法可以被子類重新寫一遍。在子類的方法前加入override 多型就是指不同的物件收到相同的訊息,會產生不同的行為,同乙個類在不同的場合下表現出不同的行為特徵 多型的作用 把不同的子類都看作是父類,可以遮蔽到不同子類物件之間的差異,寫出通用的...