首页 > 其他 > 详细

Delegating Constructor

时间:2020-06-25 22:31:10      阅读:67      评论:0      收藏:0      [点我收藏+]

Delegating Constructor

What is delegating constructor?

Definition:one ctor can call another ctor

  • 被构造函数放到主调构造函数初始化列表的位置
  • 调用次序:A() → A(int) → A(int, int)
class A{
public:   
   A(): A(0){}
   A(int i): A(i, 0){}
   A(int i, int j) {
      num1=i;
      num2=j;
      average=(num1+num2)/2;
   }
private:
   int num1;
   int num2;
   int average;
};

Avoiding recursive calls of target constructors

  • 递归调用:函数调用其本身
  • 调用次序(调用环):A() → A(int) → A(int, int) → A()
class A{
public:   
   A(): A(0){}
   A(int i): A(i, 0){}
   A(int i, int j): A(){}
private:
   int num1;
   int num2;
   int average;
};

Adavantages

  • Less code
  • More clear code logic

Delegating Constructor

原文:https://www.cnblogs.com/Glov/p/13193092.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!