当以拷贝的方式初始化一个对象时, 会调用拷贝构造函数; 当给一个对象赋值时, 会调用重载过的赋值运算符.
即使没有显式的重载赋值运算符, 编译器也会以默认的方式重载它. 默认重载的赋值运算符功能很简单, 就是将原有对象的所有成员变量一一赋值给新对象.
当类持有其它资源时, 例如动态分配的内存, 打开的文件, 指向其他数据的指针, 网络连接等, 默认的赋值运算符就不能处理了, 我们必须显式地重载它, 这样才能将原有对象的所有数据都赋值给新对象.
来源: http://www.bubuko.com/infodetail-3433694.html