我个人理解里 var ( svar )中代表成员变量 var 赋成员变量 svar 值,如果 svar 和变量 var 同名,则代表 svar 是形参赋值给成员变量
而 var{svar}代表 svar 是形参赋值给成员变量 var
那么下列程序的输出应该是 1 1 2 1
但事实上输出为 1 2 2 2
这是为什么呢
class task1 {
public:
int a, n, p, q;
task1(int a, int n) :a(a), n(a), p{ n }, q(n) {
cout << a << " " << n << " " << p << " " << q << endl;
}
};
void main() {
task1 t1 = task1(1, 2);
}
而 var{svar}代表 svar 是形参赋值给成员变量 var
那么下列程序的输出应该是 1 1 2 1
但事实上输出为 1 2 2 2
这是为什么呢
class task1 {
public:
int a, n, p, q;
task1(int a, int n) :a(a), n(a), p{ n }, q(n) {
cout << a << " " << n << " " << p << " " << q << endl;
}
};
void main() {
task1 t1 = task1(1, 2);
}