阅读背景:

为什么构造函数不能为虚函数, 为什么析构函数可以为虚函数,什么情况下需要将析构函数定义为虚函数?

来源:互联网 

1,从存储空间角度

    虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。    虚函数对应一个vtable,这大家都知道,可是这个vtable其实是




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: