29 1)析構函式

2021-10-01 15:06:32 字數 493 閱讀 5210

~類名(

)

建立物件,呼叫建構函式;

撤銷物件,呼叫析構函式;

(1) 物件在程式執行超出其作用域時自動撤銷, 撤銷時自動呼叫該物件的析構函式。 如函式中的非靜態區域性物件。

(2) 如果用new運算動態地建立了乙個物件, 那麼用delete運算釋放該物件時, 呼叫該物件的析構函式。

#include 

#include

using namespace std;

class

point

//帶引數的建構函式

~point(

)//析構函式,撤銷物件要做的事情

void show(

) private:

int x,y;};

int main(

)程式執行結果:10,

20析構函式被呼叫

C 析構函式 虛析構函式

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

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

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

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

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