c 中建構函式和析構函式的使用案例

2021-10-09 09:27:26 字數 888 閱讀 4091

在我們建立新的物件的時候,都要執行某乙個類中的建構函式,而當建構函式中分配了資源之後,當我們銷毀乙個物件的時候需要乙個相應的操作將這些資源釋放出去,這就需要析構函式。

一般來說,在有基類和派生類存在時,在建立派生類型別時,會先構造基類,再構造派生類,析構順序反之,類似於進棧出棧的過程。

指標不會呼叫構造和析構函式:

當對指標用new在記憶體中開闢空間的時候會呼叫建構函式:

當我們使用new為指標開闢空間,然後用delete釋放掉空間會呼叫構造和析構函式:

當我們函式的形參是乙個物件的時候,這時候會系統只會呼叫析構函式,而缺少形參的建構函式:

當形參為乙個物件的時候,實參也為物件,這時候系統會將實參複製乙份給形參,此時系統就不會再給形參額外呼叫建構函式來對形參物件初始化了,所以就不會呼叫建構函式,但是形參被銷毀的時候還是會呼叫析構函式!

當我們函式的形參是乙個引用的時候,這時候會系統不呼叫建構函式和析構函式:

當形參為乙個引用的時候,實參也物件,這時候系統會將形參指向實參,此時系統就不會對形參呼叫建構函式和析構函式!

C 中建構函式和析構函式

定義 它是一種特殊的方法。主要用來在建立物件時初始化物件,即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。另外,乙個類可以有多個建構函式 我們可以根據其引數個數的不同或引數型別的不同來區分它們 這就是建構函式的過載 特點 1.建構函式的命名必須和類名完全相同 2.建構函式的功能...

C 中的建構函式和析構函式

1 建構函式 處理物件的初始化。特殊的成員函式,不需要使用者來呼叫,而是在建立物件的時候自動執行。特點 與類名相同 沒有任何返回型別 定義時可以有引數,可以無引數 2 析構函式 語法 classname 清理物件,析構函式在物件銷毀時自動被呼叫 特點 沒有引數 沒有任何返回型別 include io...

C 中的建構函式和析構函式

在類例項化物件時自動執行,對類中的資料進行初始化。建構函式可以從載,可以有多個,但是只能有乙個預設建構函式。在撤銷物件占用的記憶體之前,進行一些操作的函式。析構函式不能被過載,只能有乙個。先構造的後析構,後構造的先折構。它相當於乙個棧,先進後出。結果顯示 在函式內部定義的自動區域性變數在fun函式呼...