来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/31 16:16:54
请问构造函数为什么不能是虚函数?
最近有人问构造函数能不能是虚函数:当然不能解释一下:
1,从存储空间角度
虚函数对应一个 vtable,这大家都知道,可是这个 vtable 其实是存储在对象的内
存空间的.问题出来了,如果构造函数是虚的,就需要通过vtable 来调用,可是对象还没有
2,从使用角度
虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用.构造函数
本身就是要初始化实例,那使用虚函数也没有实际意义呀.所以构造函数没有必要是虚函数.