最贊回答 / qq_閉眼愛(ài)幻想_0
<...code...>因?yàn)槟愣x的是Shape類(lèi)型的指針,Shape類(lèi)里面的函數(shù)不虛,就被調(diào)用了。Shape中的函數(shù)被定義成虛函數(shù)才能生成虛函數(shù)列表指向子類(lèi)的虛函數(shù)。
2016-09-12
最新回答 / SkyWalker_1
當(dāng)然,一下只是個(gè)人觀點(diǎn)。本人是小白,接受各位dalao的批判。前提是你用父類(lèi)對(duì)象去實(shí)例化子類(lèi)。如果沒(méi)有virtual,則不生成虛函數(shù)表指針,則只能找到父類(lèi)的成員函數(shù)。如果加上virtual后,會(huì)生成,并且可以通過(guò)此函數(shù)表找到子類(lèi)的虛函數(shù)指針,繼而找到子類(lèi)的虛函數(shù)。
2016-09-10
最新回答 / BE_YOUSELF
這里是會(huì)有隱藏,但是你在父類(lèi)中的同名成員函數(shù)前加了virtual,會(huì)生成一個(gè)虛函數(shù)表,定義的指針是通過(guò)虛函數(shù)表來(lái)只想要調(diào)用的函數(shù)。只理解到這里,見(jiàn)諒!
2016-09-06