关于 cpp 成员初始化列表,冒号后的 var()和 var{}的区别到底是什么呢?
而 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);
}