1. 存儲空間角度:虛函數對應一個vtable,vtable存儲於對象的內存空間
若構造函數是虛的,則需要通過 vtable來調用,若對象還未實例化,即內存空間還沒有,無法找到vtable
2. 使用角度:虛函數主要用於在信息不全的情況下,能使重載的函數得到對應的調用。
構造函數本身就是要初始化實例,那使用虛函數就沒有實際意義
3. 從實際含義上看,在調用構造函數時還不能確定對象的真實類型(因為子類會調父類的構造函數);而且構造函數的作用是提供初始化,在對象生命期只執行一次,不是對象的動態行為,也沒有太大的必要成為虛函數