A有一个学生类student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60!69:及格;小于60:不及格。用C++程序
时间: 2023-06-02 22:03:57 浏览: 175
好的,这是一个简单的解决方案:
```c
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
string name;
int score;
public:
Student(string _name, int _score):name(_name), score(_score) {}
friend void printGrade(const Student &stu);
};
void printGrade(const Student &stu) {
int score = stu.score;
if (score >= 90) { cout << "优" << endl; }
else if (score >= 80) { cout << "良" << endl; }
else if (score >= 70) { cout << "中" << endl; }
else if (score >= 60) { cout << "及格" << endl; }
else { cout << "不及格" << endl; }
}
int main() {
Student stu("小明", 78);
printGrade(stu);
return 0;
}
```
我使用C ++编写了这个示例,它定义一个名为`Student`的类,该类具有学生的姓名和成绩。友元函数`printGrade()` 可以访问学生类中的私有成员变量。此函数输出与学生的成绩对应的等级。在主函数中,我创建一个学生对象`stu`,并将其传递给`printGrade()`。如果对象的成绩是78,将输出`中`,表明学生的成绩相对较好。
阅读全文