同时在类内定义一个静态变量sum以及count,同时有一个求本次考试成绩的平均分友元函数 student* average (student *p)
时间: 2024-10-25 11:12:50 浏览: 13
友元函数和友元类_友元函数用法_
在类内部定义一个静态变量`sum`和一个成员变量`count`是为了统计所有学生的总分数和学生人数。这里假设`student`是一个表示学生的类,包含姓名和分数等属性。`average`作为友元函数(Friend Function),允许该函数直接访问类的私有数据,目的是计算平均分。
```cpp
class Student {
private:
static int sum; // 静态变量sum存储所有学生的分数总和
static int count; // 静态变量count记录学生总数
public:
// 学生类其他结构和构造函数...
// 友元函数:用于计算并返回当前学生的平均分
friend double average(Student* p); // 参数为指向Student对象的指针
// 添加分数的方法
void addScore(int score) {
sum += score;
count++;
}
};
// 定义静态变量
double Student::sum = 0;
int Student::count = 0;
// 友元函数的具体实现
double Student::average(Student* p) {
if (count == 0)
return 0;
else
return static_cast<double>(sum) / count; // 返回平均分,注意类型转换
}
阅读全文