C 語言筆記系列之九 析構函式

2021-06-20 15:52:33 字數 644 閱讀 9765

1.析構函式

(1)作用:用來釋放乙個物件,在物件刪除前用來做一些清理工作。

(2)特點:

析構函式是類的特殊函式,函式體可以寫在類內,也可以寫在類外。

析構函式的函式名和類名相同,但是在析構函式之前加上了「~」。

2.析構函式需要注意的幾個知識點

(1)析構函式無形參,無返回值,不可以隨意呼叫且不可過載。從這裡可以看出,析構函式和建構函式的區別主要在於形參和過載這兩方面。

(2)只有在類的物件的生命期結束時,由系統自動呼叫。

(3)用new動態建立的物件,必須使用delete釋放物件,在用delete釋放物件時,系統將呼叫動態物件的析構函式。

(4)因為是棧式儲存,所以析構函式的呼叫順序嚴格和建構函式相反(先定義的後釋放,後定義的先釋放)。

3.析構函式呼叫順序舉例

#include

class student

輸出結果:

constructing student.

constructing teacher.

constructing school.

back in main.

destroy school.

destroy teacher.

destroy student.

C 筆記之析構函式

析構函式是在物件銷毀時被呼叫的函式,當例項化乙個物件時占用的資源需要程式設計師手動 時,一般用來釋放資源。析構函式的定義格式 類名 析構函式沒有任何引數。檔名為student.h include include using namespace std class student include st...

C 析構函式 虛析構函式

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

c 學習筆記 析構函式

宣告 註明 出處 析構函式 在建立物件的時候系統會自動呼叫建構函式,在物件需要被銷毀的時候同樣系統會自動呼叫乙個函式 析構函式與構造函式呼叫順序是反轉過來的,先呼叫建構函式的後呼叫析構函式。include using namespace std class test test private int...