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;
}