C 類中的構造 析構函式 拷貝建構函式講解

2021-09-26 02:44:41 字數 665 閱讀 3106

類的建構函式、析構函式、拷貝建構函式的講解

一 、建構函式

作用:建立物件時自動完成初始化。

定義的格式:類名(形參表)

什麼時候呼叫:1.物件說明語句 如:ca ca();

2.new運算子建立動態物件

如:ca *pa = new ca();

注意:如果類沒有顯示的給出建構函式,系統會自動給出乙個預設的(隱式的)

建構函式,建構函式也能夠過載。

二 、拷貝建構函式

作用:將已存在類的物件中的資料成員逐個拷貝到新建的物件中(特殊的建構函式)。

宣告形式:類名(const 類名& 物件名);

什麼時候呼叫:

1.當類的乙個物件給該類的另乙個物件初始化時。

2.如果函式的形參是類的物件,呼叫函式時,形參與實參進行結合。

3.如果函式的返回值是類的物件,函式呼叫返回完成時。

注意:函式一般預設是淺拷貝,就是只拷貝資料成員的值;

三、析構函式

作用:專門用來在物件的生存週期結束時做善後工作的(釋放記憶體);

宣告:~類名();

什麼時候呼叫:物件生存週期結束或者是delete釋放物件時。

注意:析構函式沒用引數,乙個類只能有乙個析構函式或者預設,不能過載。

定義乙個類:

class ca

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

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

c 中類的預設建構函式,析構函式,拷貝建構函式

1.預設建構函式 如果沒有顯示的為類宣告建構函式,編譯器將生成乙個不接受任何引數。也不執行任何操作的預設建構函式。然而你可以建立自己的預設建構函式,它不接受任何引數,但根據需要對物件進行設定。編譯器提供的建構函式被稱為預設建構函式,但按照慣例,任何不接受引數的建構函式都是預設建構函式。如果你建立了任...

c 中類的預設建構函式,析構函式,拷貝建構函式

1.預設建構函式 如果沒有顯示的為類宣告建構函式,編譯器將生成乙個不接受任何引數。也不執行任何操作的預設建構函式。然而你可以建立自己的預設建構函式,它不接受任何引數,但根據需要對物件進行設定。編譯器提供的建構函式被稱為預設建構函式,但按照慣例,任何不接受引數的建構函式都是預設建構函式。如果你建立了任...