对于类:如果其中有指针成员,一定要对其 “=” 和拷贝构造函数进行重载

因为类中的指针成员要分配一个动态的内存空间,
当两个对象进行赋值(如:t1=t2),即将一个指针(*p2)给另一个指针成员(*p2);
两指针便指向同一内存,一旦对象撤销时,调用析构函数释放空间,便产生内存错误。
通过运算符重载,重载“=”运算符,就会先收回p1所指向的空间,再重新给p1分配空间;
然后把t2.p2指向的内存copy到t1.p1的内存中。

猜你喜欢

转载自www.cnblogs.com/likeghee/p/10239347.html