用c++写一个友元函数SortScore(Student stu[ ], int n);来比较函数中变量generalScore的大小
时间: 2024-10-29 19:23:36 浏览: 23
在C++中,友元函数是一种特殊类型的成员函数,它可以直接访问类的私有数据成员,即使这个函数不是该类的普通成员。为了实现一个友元函数`SortScore`,首先需要将`Student`类的`generalScore`声明为友元,然后在外部定义该函数并接受一个`Student`数组和数组长度作为参数。下面是一个简单的示例:
```cpp
// Student.h 文件
class Student {
private:
string name;
int generalScore;
public:
// 允许 SortScore 函数访问 private 成员
friend void SortScore(Student stu[], int n);
};
// SortScore.cpp 文件
void SortScore(Student stu[], int n) {
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - i - 1; ++j) {
if (stu[j].generalScore > stu[j + 1].generalScore) {
// 使用标准的冒泡排序算法
std::swap(stu[j], stu[j + 1]);
}
}
}
}
```
在这个例子中,`SortScore`函数会遍历学生数组,并按照`generalScore`值对它们进行升序排列。注意这只是一个简单的排序示例,实际应用中可能会使用更高效的排序算法。
阅读全文