读书人

关于PRIMER下的一句话没有理解

发布时间: 2012-10-30 16:13:36 作者: rapoo

关于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)

读书人网 >C++

热点推荐