C 複製建構函式與型別轉換建構函式

2021-10-06 05:54:20 字數 520 閱讀 8926

複製構造引數只有乙個引數,即對同類物件的引用,形如:x::x(x&)x::x(const x&),常用後者。

若使用者未定義,則編輯器會生成預設的複製建構函式,完成複製的功能。

class complex ; 

complex c1; //呼叫預設無參建構函式

complex c2(c1);//呼叫預設的複製建構函式,將 c2 初始化成和c1一樣

注:不允許有形如x::x(x)的建構函式。

complex c2(c1);

complex c2 = c1; //初始化語句,非賦值語句

class a

; a(a & a)

complex(double r,double i)

};int main ()

建構函式 複製建構函式 型別轉換建構函式 析構函式

成員函式的一種,名字與類名相同,可以有引數,不能有返回值 void也不行 乙個類可以有多個建構函式。如果定義類時沒寫建構函式,則編譯器生成乙個預設的無參建構函式,這個建構函式不做任何操作。如果定義了建構函式,則編譯器不生成預設的無參建構函式。物件生成時建構函式自動被呼叫,物件一旦生成,就再也不能在其...

C 學習 建構函式與複製建構函式

在建構函式的函式頭初始化 includeusing namespace std class rectangle private const int length int width int main void 複製建構函式 預設複製建構函式的機制 includeusing namespace std...

c 型別轉換建構函式

定義轉換建構函式的目的是實現型別的自動轉換。只有乙個引數,而且不是複製建構函式的建構函式,一般 就可以看作是轉換建構函式。當需要的時候,編譯系統會自動呼叫轉換建構函式,建立 乙個無名的臨時物件 或臨時變數 include using namespace std class complex compl...