内容概要:
滿足下面2個條件時,
1. 父類無虛函數,子類有虛函數
2. 非虛繼承
類對象之記憶體布局
如果将Base中的兩個虛函數删除,情況有會怎麼樣呢?
将Base中的兩個虛函數删除,其他保持不變。Base類和Derived類兩者之間的關系如下:
代碼如下:
運作結果如下:
Derived對象的memory layout圖解如下:
這次由于Base類中不存在虛函數,是以在Derived類對象中的Base subobject就不會有vptr了,但Derived類中有虛函數,是以它的對象中就有vptr了。