构造函数为什么不能是虚函数

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 18:22:52

构造函数为什么不能是虚函数
构造函数为什么不能是虚函数

构造函数为什么不能是虚函数
1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的.而在构造一个对象时,由于对象还未构造成功.编译器无法知道对象的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类.无法确定.2 虚函数的执行依赖于虚函数表.而虚函数表在构造函数中进行初始化工作,即初始化vptr,让他指向正确的虚函数表.而在构造对象期间,虚函数表还没有被初始化,将无法进行.