析構函式 destructor

2021-08-06 04:13:34 字數 790 閱讀 3894

成員函式的一種:(消亡前的善後工作)

1.名字與類名相同

2.在前面加「~」

3.沒有引數和返回值

4.乙個類最多只有乙個析構函式

編譯器自動生成預設的析構函式且自動呼叫

觀察呼叫析構函式的次數

析構函式的呼叫順序:

由結果易知:

d1是全域性變數,最先宣告,最後釋放

d4在main函式結束後釋放,結果不顯示在控制台中

d4被賦值,臨時物件申請後立即被釋放

d5宣告以後作用域立即結束,所以緊接著釋放

呼叫func,靜態變數d2宣告,在主函式結束時才會被釋放

d3在func函式結束時被釋放

c++設計的乙個思想:最先宣告的最後被釋放

C 筆記 析構函式(destructor)

析構函式 是建構函式的反向函式。在銷毀 釋放 物件時將呼叫它們。通過在類名前面放置乙個波形符 將函式指定為類的析構函式。宣告析構函式 析構函式是具有與類相同的名稱但前面是波形符 的函式 該語法的第一種形式用於在類宣告中宣告或定義的析構函式 第二種形式用於在類宣告的外部定義的析構函式。多個規則管理析構...

C 析構函式 虛析構函式

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

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

說析構函式之前,先說下建構函式。建構函式用來完成對物件的一系列初始化操作,主要作用有 1.給建立的物件建立乙個識別符號 2.為物件資料成員開闢記憶體空間 3.完成物件資料成員的初始化 當並未顯示的定義建構函式時,會生成乙個預設的建構函式,預設建構函式不能完成物件資料成員的初始化,只能給物件建立一識別...