//委托构造函数
// 初始化列表
//优点就是程序猿少写代码
class A {
public:
//委托构造函数: A()委托A(0)构造,因此A()调用了A(0),被调用的A(0)需要放在主调用构造函数的初始化列表的位置!!!
A() :A(0) {}
A(int i) :A(i, 0) {}
A(int i, int j) {
num1 = i;
num2 = j;
average = (num1 + num2) / 2;
} //注意A(int i,int j)不可以调用A(0),否则形成环形构造了!
private:
int num1;
int num2;
int average;
};
进一步了解初始化列表和普通的赋值之间的区别,参考