您的位置:首页 > 编程语言 > C语言/C++

C++ 一个demo看懂—拷贝构造函数与赋值运算符重载区别

2018-11-08 14:27 155 查看
[code]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;
}

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: