求大神帮我看看我这C++的作业关于运算要用重载 friend 这些

2025-01-07 04:27:43
推荐回答(2个)
回答1:

分太少,我原来的代码自己看着改
bool operator==(const Person& a,const Person & b);//相等运算符重载函数声明,
我写在类外,没有使用友元函数
bool operator==(const Person& a,const Person & b)//相等运算符重载

{

bool yes =true;

if(strlen(a.getName())!=strlen(b.getName()))//先判断两个数组长度是否相等

{

yes=false;

}

else//两个数组长度相等

{

int index=0;

char s= strlen(a.getName());

while (index
{

++index;

}

if (index
{

yes=false;

}

}

return yes;

}
friend istream& operator >> (istream& input, Person& u);//输入运算符重载函数声明
istream & operator >> (istream& input, Person& u)//输入运算符重载函数

{

cout<<"请输入邮箱和名字\n";

input>>u.email_address>>u.name;

cout<<"请输入出生年月日\n";

input>>u.date;

return input;

}

friend ostream & operator<<(ostream & out,const Person& v);//输出运算符重载函数声明
ostream & operator<<(ostream & out,const Person & v)//输出运算符重载函数

{

out<<"电子邮箱:"<
out<<"姓名:"<
v.date.print();

return out;

}

回答2:

这个题目不算难,但是有点麻烦的