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...