C 析構函式詳解

2021-10-18 04:40:35 字數 619 閱讀 9886

析構函式:與建構函式功能相反,析構函式是完成物件的銷毀,區域性物件銷毀工作是由編譯器完成的。而物件在銷毀時會自動呼叫析構函式,完成類的一些資源清理工作。

1、在下面這個類中,並沒有顯示定義析構函式,但是編輯器不會生成預設的析構函式,因為在這個類中沒有進行資源的管理,所以不需要析構函式。

class

date

private

:int _year;

int _month;

int _day;

};

2、在類a中顯示定義了析構函式,類b中沒有給出析構函式,但是b中包含有a類中的物件,這時候b類一定會自動生成預設的析構函式,這個析構函式是用來呼叫a類中的析構函式的,用來析構b類中a類的物件。

class

time

~time()

private

:int _hours;

int _min;};

class

date

private

:int _year;

int _month;

int _day;

time t;

};

C 析構函式詳解

建立物件時系統會自動呼叫建構函式進行初始化工作,同樣,銷毀物件時系統也會自動呼叫乙個函式來進行清理工作,例如釋放分配的記憶體 關閉開啟的檔案等,這個函式就是析構函式。析構函式 destructor 也是一種特殊的成員函式,沒有返回值,不需要程式設計師顯式呼叫 程式設計師也沒法顯式呼叫 而是在銷毀物件...

C 建構函式,析構函式詳解

目錄 上期了解c 類中有public protected private三種訪問許可權。肯定會有人疑惑,c 為什麼要設定這三個許可權呢 本期內容就是圍繞上面的問題展開說明 開始的文章就提到過,類是 oop 物件導向程式設計的基礎 那麼物件導向程式設計究竟是個什麼東東呢 百科是這樣解釋的 通俗的來說就...

C 析構函式 虛析構函式

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