構造函數不能是虛函數 基類析構函數必須爲虛函數

1,從存儲空間角度數組    虛函數對應一個虛表vtbl,但是這個vtbl實際上是存儲在對象的內存空間的。問題出來了,若是構造函數是虛的,就須要經過 vtbl來調用,但是對象尚未實例化,也就是內存空間尚未,沒法找到vtbl。因此構造函數不能是虛函數。函數   vtbl是在編譯期就創建了,各個虛函數這時被組織成了一個虛函數的入口地址的數組.而對象的隱藏成員--vptr是在運行期--也就是構造函數被調
相關文章
相關標籤/搜索