class MyClass
{
public:
MyClass(int i = 0)
{
cout << i;
}
MyClass(const MyClass &x)
{
cout << 2;
}
MyClass &operator=(const MyClass &x)
{
cout << 3;
return *this;
}
~MyClass()
{
cout << 4;
}
};
int DiffOfCopyAndEqualTest()
{
MyClass obj1(1), obj2(2);
MyClass obj3 = obj1;//obj3还不存在,所以调用拷贝构造函数输出2,
// 如果obj3存在,obj3=obj,则调用复制运算符重载函数,输出3
obj3 = obj2;
return 0;
}