1. 程式人生 > >虛函數表

虛函數表

重新 進行 info com ima mage 新增 中繼 派生

技術分享圖片

以上述類型為例:

void a_fun_1();為基類虛函數,在派生類b中沒有重新進行定義;

void a_fun_2();為基類虛函數,在派生類b中被重新進行定義;

   void b_fun_1();為派生類中新增加的虛函數;

那麽基類a和派生類b的虛函數表是這樣的:

技術分享圖片

規則是:

在派生類中,如果沒有重新定義基類中的虛函數,將直接從原來虛函數表中繼承將信息過來;

在派生類中,如果重新定了基類中的虛函數,那麽將用新的虛函數地址覆蓋原來的虛函數在虛函數表中的信息;

在派生類中,如果重新增加類虛函數,那麽將在虛函數表中插入新的虛函數地址信息;

虛函數表