@TOC
1. 定义
类名
{
类名& operator=(const 类名& 源对象)
拷贝体
}
class A
{
A& operator=(const A& another)
{
//函数体
return *this;
}
};
2. 规则
1.系统提供默认的赋值运算符重载,一经实现,不复存在。
2.系统提供的也是等位拷贝,也就浅拷贝,会造成内存泄漏,重析构。
3.要实现深拷贝,必须自定义。
4.自定义面临的问题有三个:
- 自赋值
- 内存泄漏
- 重析构。
5.返回引用,且不能用const 修饰。