首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

急跪求大神帮忙解释这段代码,该怎么处理

2013-07-08 
急急急!!!!!跪求大神帮忙解释这段代码void TeleMessage::Swap(TeleNumber *p1,TeleNumber *p2)//两个类对

急急急!!!!!跪求大神帮忙解释这段代码
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对个对象的属性交换  
 } 

仅供参考,希望能够帮助到楼主

热点排行