构造函数不能是虚函数的原因
2011-08-02 15:00
197 查看
构造函数不能声明为虚函数的原因是:
所谓虚函数就是多态情况下只执行一个,而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象,如果构造函数设为虚函数,那么当你在构造父类的构造函数时就不得不显示的调用构造,还有一个原因就是为了防错,试想如果你在子类中一不小心重写了个跟父类构造函数一样的函数,那么你的父类的构造函数将被覆盖,也即不能完成父类的构造.就会出错.
所谓虚函数就是多态情况下只执行一个,而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象,如果构造函数设为虚函数,那么当你在构造父类的构造函数时就不得不显示的调用构造,还有一个原因就是为了防错,试想如果你在子类中一不小心重写了个跟父类构造函数一样的函数,那么你的父类的构造函数将被覆盖,也即不能完成父类的构造.就会出错.
相关文章推荐
- 构造函数不能为虚函数的原因
- 构造函数不能声明为虚函数的原因是:
- C++类的构造函数不能为虚函数的原因
- 构造函数为什么不能是虚函数的原因
- 构造函数不能为虚函数的原因
- c++中构造函数不能为虚函数的原因
- 构造函数不能声明为虚函数的原因及分析
- 构造函数不能是虚函数的原因
- 构造函数不能声明为虚函数的原因是:
- C++类的构造函数不能为虚函数的原因
- C/C++—— C++中构造函数不能是虚函数的原因分析
- 为什么构造函数不能为虚函数
- 为什么构造函数不能为虚函数,而析构函数可以为虚函数
- C++中构造函数为什么不能为虚函数
- 为什么构造函数不能声明为虚函数,析构函数可以
- 构造函数为什么不能是虚函数
- 构造函数为什么不能是虚函数
- 为什么构造函数不能声明为虚函数,析构函数可以
- 构造函数不能是虚函数
- 为什么构造函数不能声明为虚函数,析构函数可以