如果類中包含了使用new初始化的指標成員,應當定義乙個複製建構函式,以複製指向的資料,而僅僅是指標。
複製建構函式用於將乙個物件複製到新建立的物件中,因此,它用於初始化過程中(包括按值傳遞引數),而不是常規的賦值過程中。
原型:class_name(const class_name &);
class string;.
..string:
:string
(const string &st)
//複製建構函式定義
將新物件初始化為乙個同類物件;
按值將物件傳遞給函式;
函式按值返回物件;
編譯器生成臨時物件。
string & string:
:operator=
(const string &st)
C 淺層複製建構函式和深層複製建構函式
淺層複製建構函式 class person person person one 自定義淺層複製建構函式,就是複製乙個物件,說到底,就是複製傳進來的物件的所有成員變數,實際上,系統的預設淺層複製建構函式也是類似這樣的原理 person void setheight int h int getheigh...
複製控制 複製建構函式
只有單個形參,而且該引數是對本類型別物件的引用。主要用於 1 根據另乙個同型別的物件顯示或隱式的初始化乙個物件 string a abc 呼叫複製建構函式將a初始化為abc string aa string 呼叫string 的建構函式,建立乙個新的物件,再呼叫 複製建構函式初始化aa string...
複製控制 複製建構函式
只有單個形參,而且該引數是對本類型別物件的引用。主要用於 1 根據另乙個同型別的物件顯示或隱式的初始化乙個物件 string a abc 呼叫複製建構函式將a初始化為abc string aa string 呼叫string 的建構函式,建立乙個新的物件,再呼叫 複製建構函式初始化aa string...