C 學習體會 建構函式,析構函式,拷貝建構函式

2021-04-07 07:15:16 字數 585 閱讀 3768

1.建構函式

確保物件的初始化,

建構函式不能被繼承,因此,在定義派生類的建構函式時除了對自己的資料成員進行初始化外,還必須負責呼叫基類結構函式,使基類的資料成員使以初始化。

派生類建構函式的呼叫順序:基類的建構函式、子物件類的建構函式、派生類建構函式。

2.析構函式

確保物件的清除

析構函式也不能被繼承,在執行派生類的析構函式時,基類的析構函式也將被呼叫。執行順序是先執行派生類的析構函式,再執行基類的析構函式,與建構函式的執行順序相反

當物件超出它的定義範圍時,編譯器自動呼叫析構函式。在物件的定義點處建構函式被呼叫,但析構函式呼叫的唯一根據是包含該物件的右括號

程式中不能直接呼叫建構函式,析構函式,只能在建立物件時系統自動呼叫.動態分配的物件當使用new為物件分配記憶體時會呼叫建構函式,使用delete刪除物件時會呼叫析構函式.析構函式可以是虛函式,建構函式不能是虛函式.

3.拷貝建構函式

拷貝建構函式就是用已存在的物件來初始化另乙個物件。

當類的資料成員中存在指標成員的時候,要自己定義它,因為編譯器往往採用位拷貝,乙個記憶體塊一位一位的複製過去,造成多個物件的指標成員都指向同一塊記憶體區域

C 建構函式 拷貝構造 析構函式

建構函式 constructor 在例項物件時,系統自動呼叫,用來初始化物件的資料成員 建構函式宣告語法 類名 引數列表 建構函式注意點 include include using namespace std class computer 上面的建構函式也可以寫成引數列表初始化的形式 compute...

C 建構函式 析構函式 拷貝建構函式

建構函式 析構函式 拷貝建構函式 如果類成員變數有初始值,用這些初始值初始化成員變數 如果類成員變數沒有初始值,則預設初始化該成員變數 class student int main 使用注意事項 語法 這個預設建構函式之所以對student有效,是因為我們為內建型別的資料成員提供了初始值 如果你的編...

c 基礎學習 析構函式 拷貝建構函式

字串函式 string類是c 提供的字串類,其主要功能是對字串進行操作。string類定義的變數稱為字串物件,該物件可以直接用字串常量賦值,也可呼叫string類中定義的成員函式。常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值不能被更新。c 中引入const的目的是為了取代巨集...