最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)?的評論 (共 條)

分享到微博請遵守國家法律
衡山县| 繁昌县| 涡阳县| 杨浦区| 麻江县| 波密县| 武功县| 榆林市| 扶风县| 楚雄市| 普陀区| 巴南区| 醴陵市| 广南县| 紫金县| 晴隆县| 凌云县| 金昌市| 仁寿县| 胶南市| 沅江市| 夏河县| 临澧县| 湖南省| 桑日县| 大冶市| 郑州市| 莱芜市| 菏泽市| 岱山县| 调兵山市| 略阳县| 临沧市| 宕昌县| 垦利县| 舟山市| 黄山市| 肃北| 莱州市| 武强县| 海阳市|