急急急!!!!!跪求大神帮忙解释这段代码
void TeleMessage::Swap(TeleNumber *p1,TeleNumber *p2) //两个类对象数据域进行交换
{
TeleNumber * temp=new TeleNumber;
strcpy(temp->name,p1->name);
temp->mobileNumber=p1->mobileNumber;
temp->phoneNumber=p1->phoneNumber;
temp->s=p1->s;
strcpy(p1->name,p2->name);
p1->mobileNumber=p2->mobileNumber;
p1->phoneNumber=p2->phoneNumber;
p1->s=p2->s;
strcpy(p2->name,temp->name);
p2->mobileNumber=temp->mobileNumber;
p2->phoneNumber=temp->phoneNumber;
p2->s=temp->s;
} 简单个人电话查询系统
[解决办法]
void TeleMessage::Swap(TeleNumber *p1,TeleNumber *p2) //两个类对象数据域进行交换
{
TeleNumber * temp=new TeleNumber; //动态定义TeleNumber类的临时对象
strcpy(temp->name,p1->name); //将类P1对象的名字复制给临时对象temp
temp->mobileNumber=p1->mobileNumber; //将类p1对象的属性赋值给临时对象temp
temp->phoneNumber=p1->phoneNumber;
temp->s=p1->s;
//这个时候临时对象temp具有p1对象的属性以及名字
strcpy(p1->name,p2->name); //将类p2对象名字复制给p1
p1->mobileNumber=p2->mobileNumber; //将类p2对象的属性赋值给对象p1
p1->phoneNumber=p2->phoneNumber;
p1->s=p2->s;
//这个时候p1对象具有p2对象的属性以及名字
strcpy(p2->name,temp->name); //将临时对象temp(也就是p1)对象名字复制给p2
p2->mobileNumber=temp->mobileNumber;//将临时对象temp(也就是p1)对象属性复制给p2
p2->phoneNumber=temp->phoneNumber;
p2->s=temp->s;
//到这里,就已经完成了p1,p2对个对象的属性交换
}