声明一个Student类,在该类中包括一个数据成员score(分数)、两个静态数据成员total-score(总分)和count(学生人数);还包括一个成员函数account()用于设置分数、累计学生的成绩之和、累计学生人数,一个静态成员函数sum()用于返回学生的成绩之和,另一个静态成员函数average()用于求全班成绩的平均值。在main函数中,输入某班同学的成绩,并调用上述函数求出全班学生的成绩之和和平均分。
时间: 2024-02-16 22:00:09 浏览: 68
c++面向对象设计语言
好的,以下是对应的C++代码:
```c++
#include<iostream>
using namespace std;
class Student {
private:
int score;
static int total_score;
static int count;
public:
void account(int s) {
score = s;
total_score += s;
count++;
}
static int sum() {
return total_score;
}
static double average() {
return total_score / (double)count;
}
};
int Student::total_score = 0;
int Student::count = 0;
int main() {
Student s;
int score;
cout << "请输入学生成绩(-1 结束输入):" << endl;
cin >> score;
while (score != -1) {
s.account(score);
cin >> score;
}
cout << "全班学生的成绩之和为:" << Student::sum() << endl;
cout << "全班学生的平均成绩为:" << Student::average() << endl;
return 0;
}
```
在该程序中,我们首先定义了一个 `Student` 类,根据题目要求,我们在类中定义了三个数据成员,其中 `score` 表示学生的成绩,`total_score` 表示全班学生的成绩之和,`count` 表示全班学生的人数。然后我们在类中定义了两个成员函数,`account` 函数用于输入学生成绩并更新总分和人数,`sum` 函数用于返回全班学生的成绩之和,`average` 函数用于求全班学生的平均成绩。需要注意的是,由于 `total_score` 和 `count` 是静态数据成员,因此我们需要在类外对它们进行初始化。
在 `main` 函数中,我们首先定义了一个 `Student` 对象 `s`,然后通过一个循环不断输入每个学生的成绩并调用 `account` 函数进行更新。最后,我们分别调用 `sum` 和 `average` 函数输出全班学生的成绩之和和平均成绩。
阅读全文