C 析構函式

2021-08-27 14:05:07 字數 519 閱讀 3081

最近一直在學習自考中的c++程式語言,裡邊的一些知識點還是有點不熟悉,現在總結一下

析構函式對於我的理解就是 將我們自己建立的物件銷毀的時候,自動被呼叫,用來釋放物件占用的空間!

名字必須與類本體的名字相同

析構函式之前必須加 「~」(波浪線)加以標識

析構函式沒有引數,沒有返回值

乙個類最多有乙個析構函式

使用者不定義析構函式,系統會自動呼叫預設析構函式

**:

#includeusing namespace std;

class test

~test()

{cout<

當我們主動的去delete乙個物件的時候,系統就會自動的呼叫析構函式

當我們的主函式執行完畢以後,則系統就會將我們自己宣告的物件呼叫類中的析構函式來進行刪除!

析構函式和建構函式是一對,在我們呼叫了建構函式以後,則一定會呼叫析構函式,當然這些知識在課本裡邊我們是不能直觀感受到的,需要親自去實踐才行!

C 析構函式 虛析構函式

1.為什麼要定義虛析構函式?如果有乙個帶有虛函式功能的類,則它需要乙個虛析構函式,原因如下 1 如果乙個類有虛函式功能,它經常作為乙個基類使用 2 如果它是乙個基類,它的派生類經常使用new來分配 3 如果乙個派生類物件使用new來分配,並且通過乙個指向它的基類的指標來控制,那麼它經常通過乙個指向它...

C 析構函式和虛析構函式。

析構函式如果不是虛的話,基類的析構函式將不會被呼叫。多型時,也就是派生類被基類指標所指,或者被基類別名 虛析構函式,被呼叫時,其自身的析構函式和基類的析構函式都將會被呼叫。非虛的時候,不進行多型,只有基類的會被呼叫。純虛析構函式 定義的時候除了加 0 還需要給出函式的實現。因為當遞迴的呼叫析構函式時...

C 建構函式 析構函式 虛析構函式

一般地,建立物件和刪除物件時,父類建構函式 子類建構函式 子類析構函式 父類析構函式。特例 如果用new建立了乙個物件,並將父類的指標指向這個子類的物件,那麼用delete撤銷物件時,系統只執行基類的析構函式,而不執行派生類的析構函式。如果希望按照子類析構函式 父類析構函式的順序執行,那麼應該將基類...