关于PRIMER上的一句话,没有理解。
原话是:
有多个初始化式时不能使用复制初始式。
在PDF的第75页。
有多个初始化式 = 有多个构造函数 对不?
我写了一个类,有多个构造函数。但是依然可以使用复制初始式。
class A
{
public:
A()
{
}
A(int)
{
}
A(int,int)
{
}
A(A&)
{
cout<<"1"<<endl;
}
};
int main(void)
{
A a(1);
A b =a;
system("pause");
return 0;
}
运行通过的。
难道刚刚问的1不对?
[解决办法]
有多个初始化式时不能使用复制初始式。
这句话的意思其实是:有构造函数有多个函数参数时,不能用=初始化,要用形参列表,你理解错了。
比如 A a = 1;这是可以的。
而你不能写A a = 1,1,应该是A a(1, 1)