五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++編程筆記:編譯器何時在C++中創(chuàng)建默認(rèn)值并復(fù)制構(gòu)造函數(shù)?

2021-04-30 19:39 作者:C語言編程__Plus  | 我要投稿

在C ++中,編譯器創(chuàng)建一個默認(rèn)的構(gòu)造函數(shù),如果我們不定義自己的構(gòu)造函數(shù)。編譯器創(chuàng)建的默認(rèn)構(gòu)造函數(shù)的主體為空,即,它不會為數(shù)據(jù)成員分配默認(rèn)值(在Java中,默認(rèn)構(gòu)造函數(shù)會分配默認(rèn)值)。


如果我們不編寫自己的副本構(gòu)造函數(shù),則編譯器還會創(chuàng)建一個副本構(gòu)造函數(shù)。與默認(rèn)構(gòu)造函數(shù)不同,編譯器創(chuàng)建的復(fù)制構(gòu)造函數(shù)的主體不為空,它會將傳遞的對象的所有數(shù)據(jù)成員復(fù)制到正在創(chuàng)建的對象中。

當(dāng)我們僅編寫副本構(gòu)造函數(shù)時會發(fā)生什么-編譯器會創(chuàng)建默認(rèn)構(gòu)造函數(shù)嗎?

如果我們編寫任何構(gòu)造函數(shù),即使它是復(fù)制構(gòu)造函數(shù),編譯器也不會創(chuàng)建默認(rèn)構(gòu)造函數(shù)。例如,以下程序無法編譯。


輸出:編譯器錯誤:沒有匹配的函數(shù)可以調(diào)用'Point :: Point()

反向怎么樣–當(dāng)我們編寫普通的構(gòu)造函數(shù)而不編寫副本構(gòu)造函數(shù)時會發(fā)生什么?

反向是不正確的。如果我們不編寫自己的副本,則編譯器會創(chuàng)建一個副本構(gòu)造函數(shù)。即使我們在類中編寫了其他構(gòu)造函數(shù),編譯器也會創(chuàng)建它。例如,下面的程序運(yùn)行正常。


輸出:

x = 10 y = 20

因此,我們需要寫的拷貝構(gòu)造函數(shù)。

以上就是今天的全部內(nèi)容了。每日分享小知識,希望對你有幫助~

另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

微信公眾號:C語言編程學(xué)習(xí)基地

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!


C/C++編程筆記:編譯器何時在C++中創(chuàng)建默認(rèn)值并復(fù)制構(gòu)造函數(shù)?的評論 (共 條)

分享到微博請遵守國家法律
台江县| 曲水县| 洪江市| 建湖县| 清镇市| 巢湖市| 砀山县| 淳化县| 神农架林区| 吐鲁番市| 奈曼旗| 湘潭县| 柳林县| 呼伦贝尔市| 甘南县| 甘肃省| 揭阳市| 宁波市| 富川| 共和县| 酉阳| 柳江县| 大名县| 社会| 靖宇县| 满城县| 任丘市| 五大连池市| 唐河县| 库尔勒市| 邵阳市| 宕昌县| 谷城县| 扎兰屯市| 郓城县| 阜城县| 临湘市| 富源县| 华阴市| 扬中市| 广南县|