物件的複製:
物件的賦值,是利用=運算子將乙個物件的成員變數賦值給另乙個物件的成員變數。可以說是對已經存在的兩個物件進行操作。
物件的複製是乙個從無到有的乙個過程,在物件建立的時候就以乙個已經存在的物件為源頭進行建立本物件。
例如:
student zhangsan =
("zhangsan"
,1002,20
);student lisi
(zhangsan)
;student wangwu=lisi;
拷貝建構函式的特點:
①也是建構函式,所以函式的名字就是類的名字,並且無返回值
②引數上有點特殊,引數一般是本類物件的引用;
③如果類沒有拷貝建構函式,那麼編譯器會預設生成乙個拷貝建構函式,只是簡單的將成員變數的值複製過去。
**拷貝建構函式的必要性** ①類的成員變數中有一些無法進行賦值的,此時就需要自定義實現拷貝建構函式 ②
拷貝建構函式(複製建構函式)
執行 物件a 物件b時,系統需要呼叫拷貝建構函式,如果程式設計師沒寫,則呼叫預設的拷貝建構函式。預設的拷貝建構函式利用淺拷貝方式,它的樣子是 a const a a 淺拷貝 拷貝的時候,兩個指標指向同乙個區域 char str1 helloworld char str2 str1 深拷貝 拷貝的時候...
C 類物件的複製 拷貝建構函式
在學習這一章內容前我們已經學習過了類的建構函式和析構函式的相關知識,對於普通型別的物件來說,他們之間的複製是很簡單的,例如 int a 10 int b a 自己定義的類的物件同樣是物件,誰也不能阻止我們用以下的方式進行複製,例如 include using namespace std class ...
C 類物件的複製 拷貝建構函式
在學習這一章內容前我們已經學習過了類的建構函式和析構函式的相關知識,對於普通型別的物件來說,他們之間的複製是很簡單的,例如 int a 10 int b a 自己定義的類的物件同樣是物件,誰也不能阻止我們用以下的方式進行複製,例如 include using namespace std class ...