有一个学生类student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;;60~69:及格;小于60:不及格。
时间: 2023-06-01 10:05:29 浏览: 256
可以通过以下代码实现:
```
#include<iostream>
using namespace std;
class student{
friend void get_grade(student s); //友元函数声明
public:
student(string name,int score):name(name),score(score){} //构造函数
private:
string name; //学生姓名
int score; //学生成绩
};
void get_grade(student s){ //友元函数实现
if(s.score >= 90){
cout<<s.name<<"的成绩等级为:优"<<endl;
}
else if(s.score >= 80 && s.score < 90){
cout<<s.name<<"的成绩等级为:良"<<endl;
}
else if(s.score >= 70 && s.score < 80){
cout<<s.name<<"的成绩等级为:中"<<endl;
}
else if(s.score >= 60 && s.score < 70){
cout<<s.name<<"的成绩等级为:及格"<<endl;
}
else{
cout<<s.name<<"的成绩等级为:不及格"<<endl;
}
}
int main(){
student s1("张三",85);
student s2("李四",56);
get_grade(s1); //调用友元函数输出s1的成绩等级
get_grade(s2); //调用友元函数输出s2的成绩等级
return 0;
}
```
输出结果:
```
张三的成绩等级为:良
李四的成绩等级为:不及格
```