有一个学生类 包括学生成绩姓名,设计一个友元函数 比较两个学生成绩的高低,并输出高分和低分的学生姓名
时间: 2024-10-24 11:18:12 浏览: 21
你可以创建一个名为`Student`的类,包含成员变量如`name`和`score`,然后定义一个友元函数`compare_scores`。以下是这个类和友元函数的设计示例:
```cpp
class Student {
public:
// 构造函数,初始化姓名和成绩
Student(const std::string& name, int score)
: name(name), score(score) {}
// 获取姓名和成绩
const std::string& get_name() const { return name; }
int get_score() const { return score; }
private:
std::string name;
int score;
friend void compare_scores(const Student& student1, const Student& student2);
};
// 友元函数,比较两个学生的成绩并输出结果
void compare_scores(const Student& student1, const Student& student2) {
if (student1.get_score() > student2.get_score()) {
std::cout << "高分学生姓名:" << student1.get_name() << std::endl;
} else if (student1.get_score() < student2.get_score()) {
std::cout << "低分学生姓名:" << student1.get_name() << std::endl;
} else {
std::cout << "两人的分数相同,姓名:" << student1.get_name() << std::endl;
}
}
```
要使用这个友元函数,你需要创建`Student`对象,并传递给`compare_scores`:
```cpp
int main() {
Student student1("张三", 90);
Student student2("李四", 85);
compare_scores(student1, student2);
return 0;
}
```
阅读全文