拷贝赋值函数
当存在的两个同类型的变量进行赋值操作时,会调用拷贝赋值函数
如果一个类没有实现拷贝赋值函数,则编译器会自动生成一个拷贝赋值函数,默认实现是浅拷贝赋值
如果需要实现深拷贝赋值,则需要手动实现
注意:
当类持有其它资源时,例如动态分配的内存、打开的文件、指向其他数据的指针、网络连接等,默认的赋值运算符就不能处理了,我们必须显式地重载它,这样才能将原有对象的所有数据都赋值给新对象。
拷贝赋值函数形如:
class CLA_NAME{
//拷贝赋值函数
CLA_NAME& operator=(const CLA_NAME& otherobj){
}
};
obj1 = obj2; //拷贝赋值
obj1.operator=(obj2); //拷贝赋值
#include <iostream>
using namespace std;
class