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

如题所述

虚函数用于动态联编,是在运行是通过类型来觉得函数的调用~而构造函数是在类型完成内存分配之前调用的,不可能知道是哪个类型,所以不能为虚函数
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-29
构造函数不能声明为虚函数的原因是:
所谓虚函数就是多态情况下只执行一个,而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象,如果构造函数设为虚函数,那么当你在构造父类的构造函数时就不得不显示的调用构造,还有一个原因就是为了防错,试想如果你在子类中一不小心重写了个跟父类构造函数一样的函数,那么你的父类的构造函数将被覆盖,也即不能完成父类的构造.就会出错.
------
子类继承了父类的public方法以后,当然可以在public中添加新的方法和属性(属性一般放在private或者protect里面),这是继承的基本用法哦本回答被网友采纳
第2个回答  2009-06-11
//构造函数不被继承,也就不能被重写,所以....
相似回答