读书人

赋值函数解决方法

发布时间: 2013-07-08 14:13:00 作者: rapoo

赋值函数
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类型有一个隐式类型转换。

读书人网 >C++

热点推荐