爲什麼構造函數不可以聲明爲虛函數,而析構函數最好聲明爲虛函數

爲什麼構造函數不可以被聲明爲虛函數: 1、因爲創建一個對象時要確定對象的類型,而虛函數是在運行時確定其類型的,而在構造一個對象時,由於對象還未創建成功,編譯器無法知道對象的實際類型。 2、虛函數對應一個虛表,可是這個虛表其實是存儲在對象的內存空間的。如果構造函數是虛的,就需要通過虛表來調用,可是對象還沒有實例化,也就是內存空間還沒有,怎麼找虛表呢?所以構造函數不能是虛函數。 爲什麼析構函數最好被聲
相關文章
相關標籤/搜索