您的位置:首页 > 其它

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

2016-03-18 12:34 375 查看
虚函数的意思就是开启动态绑定,程序会根据对象的动态类型来选择要调用的方法。然而在构造函数运行的时候,这个对象的动态类型还不完整,没有办法确定它到底是什么类型,故构造函数不能动态绑定。(动态绑定是根据对象的动态类型而不是函数名,在调用构造函数之前,这个对象根本就不存在,它怎么动态绑定?)

如果要保留原来函数的功能,并且还要新添功能的话,可以在子类重载父类的这个函数,并在子类的这个函数中,通过“父类::函数名()”先调用父类的版本,然后再在后面加自己的东西。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: