赋值函数
class Z
{
public:
Z(){cout<<"Z default constructor"<<endl;}
Z(int n){cout<<"Z int conructor, and int ="<<n<<endl;}//这是类型转换的赋值函数吗
};
class A
{
public:
A(){y=1;cout<<"A constructor"<<endl;}
Z x;
Z y;
};
[解决办法]
Z(int n)既不是拷贝构造函数也不是赋值操作符,它就是单个参数为int类型的构造函数,这个构造函数会导致int类型到Z类型有一个隐式类型转换。