学海舟舟_林
2017-11-05 04:35
采纳率: 29.4%
浏览 1.5k

people类重载“==”运算符和“=”运算符,

#include
using namespace std;

class People{
public:
bool operator ==(People &a,People &b){
if(a.id==b.id)
cout<<"两个people对象的id相同"<<endl;
else
cout<<"两个people对象的id不同"<<endl;
}
void operator =(People &a,People &b){
a=b;
}
input();
output(){
cout<<"输出人员信息:"<<endl;
cout<<"编号:"<<number<<endl<<"性别:"<<sex<<endl;
cout<<"出生日期:"<<birthday<<endl<<"身份证号:"<<id<<endl<<endl;
}

private:
double number;
char sex[10];
char birthday[20];
double id;
};
People::input(){
cout<<"录入people信息"< cout cin>>number;

    cout<<"性别:";
    cin>>sex;

    cout<<"出生日期:";
    cin>>birthday;

    cout<<"身份证号:";
    cin>>id;
    cout<<endl;

}

int main(int argc,char *argv[]){
People p1,p2;
p1.input();
p2.input();
People::operator ==(p1,p2);
People::operator =(p1,p2);
cout<<"将p2赋给p1:"<<endl;
p1.output();
system("pause");
return 0;
}图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • theonly丶 2017-11-05 05:25
    已采纳

    重载=或者==只能有一个参数,应为类自身默认作为一个参数传进来,用this进行表示的。

    打赏 评论
  • hycf 2017-11-06 02:24

    重载=或者==只能有一个参数,应为类自身默认作为一个参数传进来,用this进行表示的。

    打赏 评论

相关推荐 更多相似问题