c 類 拷貝構造

2022-07-29 17:18:17 字數 1001 閱讀 8571

//

建構函式的作用: 成員變數的初始化 分配記憶體

class

mystd

;void

main()

, , }; //

這樣做是可以成功的,但是上面加上了建構函式後就會失敗}//

類陣列//

類陣列,注意是否有無參構造,若沒有就加上

class

mystd

mystd(

int i)

};void

main()

//拷貝構造: 用自身這種型別的物件來構造自身

//拷貝構造是一種特殊的建構函式,和普通建構函式不同就只有引數

//拷貝構造有預設的,類中不寫,系統就會給預設的。預設的拷貝構造有**操作的

//什麼時候要重寫預設的建構函式,類中成員有指向堆區資料時就要重寫

int a = 0

; cmynpc n;

cmynpc m1 = n; //

隱式拷貝構造的呼叫方式

cmynpc m2(m1);

//顯示拷貝構造的呼叫方式

cmynpc m3;

m3 = m2; //

這不是拷貝構造的呼叫

//cpp類中

cmynpc();

cmynpc(

inth);

cmynpc(

int h, int

m); cmynpc(cmynpc

const& other); //

cmynpc(cmynpc n);將構成無限迴圈;;;

//cmynpc(cmynpc * other);因為改變了型別,所以不是拷貝構造;;;

//cmynpc(cmynpc const& other);引用是起了個別名,為拷貝構造,常用other定義

cmynpc::cmynpc(cmynpc const&other)

}

C 類(拷貝建構函式)(二)

拷貝建構函式是一種特殊的建構函式,它在建立物件時,是使用同一類中之前建立的物件來初始化新建立的物件。拷貝建構函式通常用於 如果在類中沒有定義拷貝建構函式,編譯器會自行定義乙個。如果類帶有指標變數,並有動態記憶體分配,則它必須有乙個拷貝建構函式。拷貝建構函式的最常見形式如下 classname con...

c 拷貝構造

當用乙個已初始化過了的自定義類型別物件去初始化另乙個新構造的物件的時候,拷貝建構函式就會被自動呼叫。也就是說,當類的物件需要拷貝時,拷貝建構函式將會被呼叫。以下情況都會呼叫拷貝建構函式 乙個物件以值傳遞的方式傳入函式體 乙個物件以值傳遞的方式從函式返回 乙個物件需要通過另外乙個物件進行初始化。補充說...

C 拷貝構造

呼叫時機 使用乙個已經建立完的物件來初始化乙個新物件 class person person person const person p private string name intage int main person 構造 person 拷貝構造 person 析構 person 析構 值傳遞...