C++中构造函数为什么不能是虚函数

最好的回答:这是一个先有鸡还是先有蛋的问题。虚函数通过虚表调用,虚表是在构造函数里初始化的。 当一个子类对象赋值给父类指针时,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。