用c++设计学生信息的类,包含数据成员学号、姓名和成绩(语文、数学和英语)和总成绩,其中总成绩是各成绩之和。写出完整的类定义,并通过主函数中定义不同对象并实现该对象的信息输入、计算与输出
时间: 2024-11-03 22:20:42 浏览: 16
在C++中,我们可以设计一个名为`Student`的类来存储学生的个人信息。以下是完整的类定义,包括数据成员和方法:
```cpp
#include <iostream>
using namespace std;
class Student {
private:
int student_id;
string name;
double math_score, chinese_score, english_score; // 成绩数据成员
double total_score; // 总成绩
public:
// 构造函数
Student(int id, const string& n, double m, double c, double e) {
student_id = id;
name = n;
math_score = m;
chinese_score = c;
english_score = e;
calculateTotalScore();
}
// 计算总成绩的方法
void calculateTotalScore() {
total_score = math_score + chinese_score + english_score;
}
// 设置成绩的方法
void setScores(double m, double c, double e) {
math_score = m;
chinese_score = c;
english_score = e;
calculateTotalScore();
}
// 获取信息的方法
void displayInfo() {
cout << "学号: " << student_id << endl;
cout << "姓名: " << name << endl;
cout << "数学成绩: " << math_score << endl;
cout << "语文成绩: " << chinese_score << endl;
cout << "英语成绩: " << english_score << endl;
cout << "总成绩: " << total_score << endl;
}
};
int main() {
// 创建学生对象
Student student1(1001, "张三", 85.0, 90.0, 92.0);
Student student2(1002, "李四", 78.0, 86.0, 90.5);
// 显示学生信息
student1.displayInfo();
cout << "\n";
student2.displayInfo();
// 修改学生2的成绩并显示新信息
student2.setScores(80.0, 92.0, 91.0);
student2.displayInfo();
return 0;
}
```
在这个例子中,我们定义了一个`Student`类,包含了私有数据成员和公有方法。构造函数用于初始化数据,`calculateTotalScore`方法用于计算总成绩,`setScores`方法用于设置单科成绩,而`displayInfo`方法则用于输出学生的所有信息。在`main`函数中,我们创建了两个`Student`对象,并演示了如何输入、修改和输出它们的数据。
阅读全文