1)定义一个赋值运算符函数
关注点:
1)返回值的类型--是否为自身引用(*this)
--确保可以连续赋值(链式编程)
2)传入参数类型--是否为常量引用
--若传入参数非引用,而是实例,那么从形参到实参会调用一次复制构造函数,会浪费内存
--常量引用确保不会改变出入实例的状态
3)释放自身已有的内存
--再分配新内存之前释放自身空间,避免出现内存泄漏
4)判断当前实例与传入参数是否一致
--若不事先判断,传入参数与*this参数相同,那么释放掉自身内存的同时将传入参数也释放掉了