亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么拷貝構造函數調用時不打印Student?

int main(void)

{

Student stu1;

Student stu2=stu1;

Student stu3(stu1);

return 0;

}

正在回答

2 回答

有道理,可能你的重點是你認為它調用了構造函數

三、淺拷貝與深拷貝
? ??1. 默認拷貝構造函數
? ?很多時候在我們都不知道拷貝構造函數的情況下,傳遞對象給函數參數或者函數返回對象都能很好的進行,這是因為編譯器會給我們自動產生一個拷貝構造函數,這就是“默認拷貝構造函數”,這個構造函數很簡單,僅僅使用“老對象”的數據成員的值對“新對象”的數據成員一一進行賦值,它一般具有以下形式:

Rect::Rect(const?Rect&?r)
{
????width=r.width;
????height=r.height;
}
這涉及到了淺拷貝和深拷貝。我也是百度的,我自己的理解就是像上次回答一樣,這個函數就只會初始化列表,沒有調用
構造函數里面的語句代碼。


2 回復 有任何疑惑可以回復我~
#1

慕運維9949243 提問者

非常感謝!
2018-08-05 回復 有任何疑惑可以回復我~

因為啊 打印student那句代碼是寫在構造函數里面的,如果你沒有自己定義拷貝構造函數,系統就會自動生成拷貝函數,這個函數就只會初始化列表。里面是沒有cout那句代碼的,所以只會打印一個student。

0 回復 有任何疑惑可以回復我~
#1

慕運維9949243 提問者

但拷貝構造函數實例化時調用了構造函數啊
2018-08-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之封裝篇(上)
  • 參與學習       103391    人
  • 解答問題       732    個

封裝--面向對象的基石,本教程力求幫助小伙伴們即學即會

進入課程

為什么拷貝構造函數調用時不打印Student?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號