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

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

C/C++編程筆記:高級C++知識 |虛擬副本構(gòu)造器

2021-05-05 19:42 作者:C語言編程__Plus  | 我要投稿

在虛擬構(gòu)造函數(shù)中,我們看到了構(gòu)造對象的方法,該對象的類型直到運(yùn)行時(shí)才確定。是否可以在不知道其確切類類型的情況下創(chuàng)建對象?該虛擬拷貝構(gòu)造函數(shù)解決這個(gè)問題。


有時(shí)我們可能需要從另一個(gè)現(xiàn)有對象構(gòu)造一個(gè)對象。精確地,復(fù)制構(gòu)造函數(shù)執(zhí)行相同的操作。新對象的初始狀態(tài)將基于另一個(gè)現(xiàn)有對象狀態(tài)。從另一個(gè)對象實(shí)例化一個(gè)對象時(shí),編譯器將調(diào)用復(fù)制構(gòu)造函數(shù)。但是,編譯器需要具體的類型信息來調(diào)用適當(dāng)?shù)母北緲?gòu)造函數(shù)。


如果我們不能決定要從哪種對象類型進(jìn)行復(fù)制,該怎么辦?例如,虛擬構(gòu)造函數(shù)根據(jù)某些輸入在運(yùn)行時(shí)創(chuàng)建類層次結(jié)構(gòu)的對象。當(dāng)我們想從虛擬構(gòu)造函數(shù)創(chuàng)建的另一個(gè)對象中復(fù)制構(gòu)造一個(gè)對象時(shí),我們不能使用通常的復(fù)制構(gòu)造函數(shù)。我們需要一個(gè)特殊的克隆函數(shù),該函數(shù)可以在運(yùn)行時(shí)復(fù)制對象。

例如,考慮一個(gè)繪圖應(yīng)用程序。您可以選擇一個(gè)已經(jīng)在畫布上繪制的對象,然后粘貼同一對象的另一個(gè)實(shí)例。從程序員的角度來看,我們無法確定哪個(gè)對象將被復(fù)制粘貼,因?yàn)樗沁\(yùn)行時(shí)決策。我們需要虛擬副本構(gòu)造函數(shù)來提供幫助。

同樣,考慮剪貼板應(yīng)用。剪貼板可以容納不同類型的對象,并從現(xiàn)有對象復(fù)制對象,然后將其粘貼到應(yīng)用程序畫布上。同樣,要復(fù)制的對象類型是運(yùn)行時(shí)決策。虛擬副本構(gòu)造函數(shù)填補(bǔ)了這里的空白。請參見下面的示例:


用戶類借助虛擬構(gòu)造函數(shù)創(chuàng)建對象。要創(chuàng)建的對象基于用戶輸入。Action()?正在復(fù)制正在創(chuàng)建的對象并修改其屬性。借助Clone()虛擬函數(shù)創(chuàng)建的重復(fù)對象,該虛擬函數(shù)也被視為虛擬副本構(gòu)造函數(shù)。Clone()方法背后的概念是原型模式的基礎(chǔ)。

以上就是今天的全部內(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++知識 |虛擬副本構(gòu)造器的評論 (共 條)

分享到微博請遵守國家法律
永州市| 镇安县| 黔江区| 五大连池市| 老河口市| 烟台市| 澎湖县| 文水县| 黄平县| 息烽县| 三亚市| 遂平县| 新沂市| 乐安县| 衡阳县| 高安市| 阳山县| 启东市| 莒南县| 阿鲁科尔沁旗| 鸡泽县| 兴海县| 长顺县| 衡阳县| 措勤县| 兴山县| 新平| 韶关市| 青冈县| 包头市| 大姚县| 淄博市| 扶余县| 海南省| 神池县| 南宁市| 达尔| 漳州市| 海淀区| 全南县| 宁晋县|