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个回答

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问