等号操作符重载几个关键的步骤
1 判断是否是自身相等,若是就直接返回
2 释放本身开辟的空间,防止等号后内存泄漏
3 执行深拷贝,把需要相等的空间深拷贝,避免内存泄漏
Student & operator=(Student & another){
if(this ==&another)
return *this
if(this->name!=nullptr){
delete [] this->name;
this->name = nullptr;
this->id = 0;
}
this->id = another.id;
int len = strlen(another.name);
this->name = new char[len+1] // '/0'需要考虑
strcpy(this->name,another.name);
return *this;
}