早綁定跟晚綁定,一個(gè)是靜態(tài)多態(tài),一個(gè)是動(dòng)態(tài)多態(tài)。
2015-12-29
已采納回答 / 太陽雨下
不一定,如果是private權(quán)限的,就不會(huì),其它情況會(huì),這樣就算不是虛函數(shù)也是一樣的。子類繼承父類,在創(chuàng)建類的時(shí)候就會(huì)有一個(gè)虛函數(shù)表的概念,如果子類沒重寫同名函數(shù),子類的虛函數(shù)表關(guān)于該函數(shù)的入口地址就會(huì)指向父類的該函數(shù)的代碼入口地址
2015-12-28
已采納回答 / 太陽雨下
先說個(gè)函數(shù)指針的概念,每個(gè)類(除了空類,就是沒有方法也沒有屬性的類)在創(chuàng)建的時(shí)候,就會(huì)生成一個(gè)虛函數(shù)表指針,這個(gè)指針與普通的指針一樣,存的是函數(shù)的入口地址,這是在類生成的時(shí)候就建立的。下來說幾種情況:父類實(shí)現(xiàn)了非virtual修飾的方法一,子類繼承父類,子類沒有再實(shí)現(xiàn)方法一,這樣父類與子類的關(guān)于方法一在各自虛函數(shù)表中的地址是一樣的,也就是子類可以直接用父類的方法,而不用再去實(shí)現(xiàn);父類實(shí)現(xiàn)了非virtual修飾的方法一,子類繼承父類,子類重寫了方法一,這樣子類的虛函數(shù)表的方法一的地址與父類的虛函數(shù)表的方法一...
2015-12-28
子類未定義父類中的虛函數(shù)時(shí),此時(shí)的之類虛函數(shù)表中的指針指向父類的的虛函數(shù)
因而兩張?zhí)摵瘮?shù)表中的函數(shù)指針可以指向同一個(gè)函數(shù)。?
因而兩張?zhí)摵瘮?shù)表中的函數(shù)指針可以指向同一個(gè)函數(shù)。?
2015-12-24
已采納回答 / onemoo
不加virtual,這個(gè)函數(shù)就不是虛函數(shù),也就不會(huì)被子類繼承。在子類中重新定義這函數(shù),只能算是子類又定義了一個(gè)同名的函數(shù),不會(huì)有多態(tài)的特性。即通過父類只能訪問到父類的版本。
2015-12-23
已采納回答 / onemoo
哦,F(xiàn)lyable這是個(gè)純虛的基類,這種類是不能實(shí)例化的,只能通過此種類型的指針來訪問派生類。在調(diào)用函數(shù)時(shí),函數(shù)的參數(shù)會(huì)被構(gòu)造出來,所以參數(shù)也不能直接聲明為這種類型,聲明成指針就沒問題。
2015-12-11