13 1 1 析構函式

2021-08-06 02:21:27 字數 452 閱讀 5390

建構函式與析構函式都不對static(靜態)變數起作用

class a

因為析構函式沒有引數,所以不能被過載,所以乙個類只存在乙個析構函式

銷毀類型別成員時(即乙個類中的某個成員是類),呼叫該成員自己的析構函式,對於內建型別(例如int) 析構時什麼都不用做

q:析構順序?

建構函式按成員在類中的出現順序初始化  

析構函式逆序

q:什麼時候呼叫析構函式

1.變數在離開作用域時被銷毀

2.當乙個物件被銷毀,其成員被銷毀

3.容器被銷毀,元素被銷毀

4. delete銷毀動態new分配的記憶體

5.對於臨時物件,當建立它的完整表示式結束時被銷毀

q:析構函式如何銷毀物件

析構函式的函式體並不直接銷毀物件,成員是在函式體之後隱含的析構階段銷毀的

C 析構函式 虛析構函式

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

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

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

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

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