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