1.談?wù)勀銓?duì)虛繼承的理解
虛繼承的定義方式:
class 子類:virtual public 父類 { } 虛繼承就是解決菱形繼承中所帶來(lái)的多分公共祖先的數(shù)據(jù)同名問(wèn)題
2.談?wù)勀銓?duì)虛繼承的原理理解
虛繼承會(huì)在子類中產(chǎn)生虛基類指針(vbptr) 指向虛基類表(vbtable),虛基類表紀(jì)錄的是通過(guò)該指針訪問(wèn)公共祖先的數(shù)據(jù)的偏移量。
注意:
虛繼承只能解決具備公共祖先的多繼承所帶來(lái)的二義性問(wèn)題,不能解決沒(méi)有公共祖先的多繼承的,工程開(kāi)發(fā)中真正意義上的多繼承是幾乎不被使用,因?yàn)槎嘀乩^承帶來(lái)的代碼復(fù)雜性遠(yuǎn)多于其帶來(lái)的便利,多重繼承對(duì)代碼維護(hù)性上的影響是災(zāi)難性的,在設(shè)計(jì)方法上,任何多繼承都可以用單繼承代替。
更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。