C 多型學習記錄

2021-10-02 20:45:57 字數 640 閱讀 4538

純虛函式和抽象類

class

base

;class

son:

public base};

void

test01()

intmain()

虛析構和純虛析構

1、多型使用時,如果子類中有屬性開闢到堆區(new),那麼父類指標在釋放時無法呼叫到子類的析構函式。

上述問題的解決方式為:將父類中的析構函式改為虛析構或者純虛析構。
2、虛析構和純虛析構的共性:

可以解決父類指標釋放子類物件

都需要有具體的函式實現

3、虛析構和純虛析構的區別:

如果是純虛析構,該類屬於抽象類,無法例項化物件。
4、虛析構和純虛析構的語法:

虛析構:

virtual ~類名(){}

純虛析構:

virtual ~類名(){} = 0; //先宣告

類名::類名(){} //再在類外實現

C 學習記錄 多型

多型是物件導向的三大特性之一。多型 多型即呼叫成員函式時,會根據呼叫函式的物件的型別來執行不同的函式。多型分為兩類 引入虛函式,就是為了通過函式重寫實現多型的效果。動態多型需要滿足的條件 動態多型的使用條件 include include using namespace std class base...

c 多型(學習記錄四)

c 多型 學習記錄四 同乙個操作作用於不同的物件,可以有不同的解釋,產生不同的執行結果,這就是多型性,即採用基類的引用指向子類的物件。多型解決了 復用,同時解決了專案緊耦合問題,提高程式的可擴充套件性。應用程式不必對每乙個派生類編寫功能呼叫,只需對抽象基類及逆行處理即可,提公升 復用性。在類得定義中...

C 學習筆記之多型 多型的學習 多型學習

c 學習筆記之多型 多型的學習 多型學習 多型分為兩類 靜態多型 函式過載和運算子過載屬於靜態多型,復用函式名 動態多型 派生類和虛函式實現執行時多型 靜態多型和動態多型的區別 靜態多型的函式位址早繫結 編譯階段確定函式位址 動態多型的函式位址晚繫結 執行階段確定函式位址 動態多型滿足條件 動態多型...