五月天青色头像情侣网名,国产亚洲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)造器的評論 (共 條)

分享到微博請遵守國家法律
方山县| 建湖县| 徐水县| 达日县| 遂溪县| 肃北| 吉林省| 亚东县| 柏乡县| 罗定市| 安福县| 赤水市| 古浪县| 利辛县| 宜都市| 威海市| 仙游县| 松溪县| 闽侯县| 关岭| 师宗县| 镇远县| 民丰县| 册亨县| 丰顺县| 襄樊市| 特克斯县| 彝良县| 抚顺县| 襄垣县| 阿克陶县| 巴青县| 香河县| 千阳县| 临武县| 崇明县| 中宁县| 舞阳县| 万荣县| 织金县| 龙游县|