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; }
阅读更多
相关文章推荐
- C++ 中拷贝构造函数和赋值运算符的区别
- [ZZ]重载赋值运算符与拷贝构造函数的区别
- [C++基础]046_拷贝构造函数与重载赋值运算符(精深版解释)
- 1、C++关于拷贝构造函数和赋值运算符重载问题的测试程序。因为调用顺序不清,导致内存泄漏new delete
- C++ 一个例子彻底搞清楚拷贝构造函数和赋值运算符重载的区别
- C++拷贝构造函数与重载‘=’的区别
- c/c++ 构造函数、拷贝构造函数、析构函数和赋值运算符重载
- 重载赋值运算符与拷贝构造函数的区别
- C++ 赋值运算符“=”重载样例 - 编写一个长度可变的字符串类
- c++拷贝构造函数、赋值运算符=重载、深拷贝与浅拷贝
- C++构造函数、拷贝构造函数、赋值运算符重载 调用时机 GCC与VC在对象作为返回值的不同处理
- 用一个sumofsquare函数,辨别是两个整数相加还是两个实数相加---C++重载
- C和C++的又一个区别
- c++重载、覆盖、隐藏的区别和执行方式
- C++重写和重载的区别
- eclipse 和myeclipse 的一个servlet demo的区别
- 拷贝构造函数和赋值运算符区别
- C++学习笔记-----在重载的赋值运算函数中调用拷贝构造函数
- C++中重载、重写(覆盖)和隐藏的区别
- 浅析C++的构造函数,拷贝构造函数和赋值运算符