国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

分享到微博請遵守國家法律
祁阳县| 海南省| 平阳县| 千阳县| 和政县| 太保市| 虎林市| 轮台县| 靖西县| 晋宁县| 泰安市| 衡水市| 亚东县| 托克逊县| 宁蒗| 东宁县| 巴南区| 台东县| 楚雄市| 江山市| 搜索| 宜川县| 五家渠市| 来安县| 枞阳县| 定兴县| 新疆| 英吉沙县| 泸定县| 亚东县| 凌云县| 威海市| 五常市| 天全县| 额济纳旗| 柯坪县| 新化县| 铁岭市| 上思县| 大埔区| 大同市|