c 虛函式經典例子演示

2022-08-19 05:18:15 字數 989 閱讀 5578

c++博大精深,封裝,繼承,多型是c++的三大特徵,c++很強大,但是強大的東西理解起來就是要比不強大的難一點,所以現在看看

c++的多型:

多型條件:

1.必須是公有繼承。

2.必須是虛函式

乙個好的程式要對修改封閉,對擴充套件開放,虛函式就能很好的解決這個問題,

基類的指標指向子類的物件並呼叫子類的同名函式,要實現這種效果,就得用虛函式

關鍵字:virtual 

虛函式的注意點:

1.必須是普通成員函式(可以是常成員,不能是靜態成員,不能使全域性函式)

2.內聯函式不會是虛函式

3.建構函式不能為虛函式(析構函式一般宣告為為虛函式)

經典例子:

1 #include 2

3using

std::cout;

4using

std::cin;

5using

std::endl;67

//基類

8class

fruit

13};

1415

class banana: public fruit

20};

2122

fruit

27};

2829

class pear: public

fruit

34};

3536

class peach: public

fruit

41};

4243

int main(void)44

;5051for(int i = 0; i < 4; i++)

52 frt[i]->print(); //

乙個基類指標,分別呼叫不同的子類物件(動態多型)

5354 system("

pause");

55return0;

56 }

c 虛函式經典例子

c 博大精深,封裝,繼承,多型是c 的三大特徵,c 很強大,但是強大的東西理解起來就是要比不強大的難一點,所以現在看看 c 的多型 多型條件 1.必須是公有繼承。2.必須是虛函式 乙個好的程式要對修改封閉,對擴充套件開放,虛函式就能很好的解決這個問題,基類的指標指向子類的物件並呼叫子類的同名函式,要...

UBB 轉換函式演示 經典論壇

ubb 對於經常上論壇的朋友來說是最熟悉不過了。這裡我不多說了,關於怎麼實現ubb轉換,不了解的朋友請看這裡正規表示式在 論壇中的應用。經典論壇的ubb轉換我覺得是處理的非常好的,研究了一下它的轉換結果 因為沒有原始碼 做了下面的演示。轉換結果基本上覺得象了。主要是針對 code 這兩個標籤的處理,...

C 虛函式 純虛函式

1 基本概念 虛函式是在基類中使用關鍵字virtual宣告的函式。在派生類中重新定義基類中定義的虛函式時,會告訴編譯器不要靜態鏈結到該函式。我們想要的是在程式中任意點可以根據所呼叫的物件型別來選擇呼叫的函式,這種操作被稱為動態鏈結,或後期繫結。您可能想要在基類中定義虛函式,以便在派生類中重新定義該函...