深度探索C++对象模型--带有default constructor的Base class

 如果每一个没有任何constructor的class派生自一个”带有default constructor“的Base class,那么这个derived class的default constructor 会被视为有用的constructor,并因此需要被合成出来。它将调用上一层Base class的default constructor(依据他们的声明顺序),对一个后继派生的class而言,这个合成的constructor和一个”被显示提供的default constructor“没有任何区别。
        如果设计者提供多个constructor,但其中都没有default constructor呢?编译器会扩张现有的每一个constructors,将”用以调用所有必要之default constructor "的程序代码加进去。它不会合成新的default constructor,因为其他由User所提供的constructors存在的缘故。如果同时存在”带有default constructor的member class Object“,那些default constructor也会被调用----在所有Base class constructor都被调用之后。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值