现在的位置: 首页 > 综合 > 正文

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

2013年07月01日 ⁄ 综合 ⁄ 共 196字 ⁄ 字号 评论关闭

1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。无法确定。。。

2 虚函数的执行依赖于虚函数表。而虚函数表在构造函数中进行初始化工作,即初始化vptr,让他指向正确的虚函数表。而在构造对象期间,虚函数表还没有被初始化,将无法进行。

抱歉!评论已关闭.