虚函数与纯虚函数 为什么构造函数不能是虚函数?
浏览量:2241
时间:2021-03-16 09:25:02
作者:admin
为什么构造函数不能是虚函数?
构造函数不能声明为虚拟函数的原因是所谓的虚拟函数在多态性的情况下只执行一个。从继承的概念来看,总是需要先构造父类对象,然后再构造子类对象。如果构造函数设置为虚函数,那么在构造父类构造函数时,必须显示调用构造。另一个原因是为了防止意外重写与父类的构造函数相同的子类中的函数,父类的构造函数将被重写,也就是说,父类的构造将不会完成,并且会发生错误。----在子类继承父类的public方法之后,可以向public添加新的方法和属性(属性通常放在private或protect中)。这是正确的,似乎环境是MSVC。如果目标文件中有一个符号表,实际上,最直观的方法是转到符号表,找出与修改后的构造函数名称相对应的地址项。如何操作取决于主体需要在什么条件下找到地址去做。
构造函数为什么不可以声明为虚函数?
每个类只有一个析构函数和一个赋值函数,但它可以有多个构造函数(包括一个复制构造函数,其他称为普通构造函数)。
一般来说,不会达到最大值。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。