關於類的析構函式總結

2021-10-10 14:14:18 字數 470 閱讀 8664

析構函式的功能是用來釋放乙個物件,在物件刪除前,用它做一些記憶體釋放等收尾工作。

乙個類只能定義乙個析構函式

析構函式不能過載

析構函式和建構函式一樣不能加return , 也不用加關鍵字void

析構函式名識別符號就是在類名識別符號符號前面加 ~ 符號

// person.h 標頭檔案

#pragma once

class

person

;

自動變數的作用域是某個模組,當此模組被啟用時,自動變數呼叫建構函式,退出此模組則會呼叫析構函式。

全域性變數在進入main函式之前會呼叫建構函式,在程式終止時會呼叫析構函式。

動態分配的物件在使用new為物件分配記憶體時會呼叫建構函式,使用delete刪除物件時會呼叫析構函式。

臨時變數由編譯器自動產生是為了支援計算,所以臨時變數的生存期的開始和結尾會呼叫建構函式和析構函式。

關於析構函式

q1 析構函式是幹什麼的?a1 析構函式用來釋放物件所分配的資源。舉例來說,lock 類可能鎖定了乙個訊號量,那麼析構函式將釋放該訊號量。最常見的例子是,當建構函式中使用了new,那麼析構函式則使用delete。q2 物件的析構順序?a2 與建構函式相反,先構造的後析構。如 乙個物件陣列構造順序是0...

析構函式總結

1.基類如果析構函式不為protected,那麼最好加上virtual 讓其delete 基類指標 實現多型 2.如果基類析構函式為protected,可以這樣使用 基類的構造,拷貝構造,基類 operaotr 基類指標 均為protected,不直接產生 銷毀基類。可以提供乙個虛函式去銷毀 效率比...

類建構函式,類析構函式

類建構函式 the class constructor 是乙個特殊的類成員函式,當我們建立這個類的新物件時,會被執行。乙個建構函式將被確定與類名相同的名字,沒有任何返回值,包括void。建構函式對於給某些類成員變數設定初始值非常有用。例子 include using namespace std cl...