计算全班学生c++课程的总成绩和平均成绩,要求使用静态数据成员
时间: 2023-06-11 19:05:56 浏览: 202
假设有一个班级,其中有n个学生参加了c课程,那么可以使用静态数据成员来计算这些学生的总成绩和平均成绩:
```cpp
#include <iostream>
using namespace std;
class Student {
private:
string name;
int score;
static int totalScore; // 静态数据成员,用于存储所有学生的总成绩
static int count; // 静态数据成员,用于存储学生的数量
public:
Student(string n, int s) {
name = n;
score = s;
totalScore += s; // 每次创建学生对象时,将该学生的成绩加入总成绩中
count++; // 每次创建学生对象时,将学生数量加1
}
static int getTotalScore() { // 静态成员函数,用于获取总成绩
return totalScore;
}
static double getAverageScore() { // 静态成员函数,用于获取平均成绩
return (double)totalScore / count;
}
};
int Student::totalScore = 0; // 静态数据成员的初始化
int Student::count = 0;
int main() {
Student s1("Tom", 80);
Student s2("Jerry", 90);
Student s3("Bob", 85);
int total = Student::getTotalScore(); // 获取总成绩
double avg = Student::getAverageScore(); // 获取平均成绩
cout << "Total score of the class: " << total << endl;
cout << "Average score of the class: " << avg << endl;
return 0;
}
```
在上面的代码中,定义了一个Student类,其中包含静态数据成员totalScore和count,分别用于存储所有学生的总成绩和学生的数量。每次创建学生对象时,将该学生的成绩加入总成绩中,并将学生数量加1。最后,通过静态成员函数getTotalScore和getAverageScore分别获取总成绩和平均成绩。
阅读全文