c++定义一个学生类,包含若干个学生数据,访问学生学号成绩
时间: 2024-10-10 07:09:19 浏览: 54
在C++中,你可以定义一个名为`Student`的类来表示学生,包含学号(如`std::string`类型)和成绩(如`float`类型或其他适合分数的容器,比如`std::vector`用于存储多门课程的成绩)。这里是一个简单的例子:
```cpp
#include <iostream>
#include <string>
#include <vector>
class Student {
private:
std::string studentID; // 学生学号,私有变量
std::vector<float> grades; // 学生成绩列表,私有变量
public: // 提供公有方法以便于访问和修改
// 构造函数
Student(const std::string& id) : studentID(id), grades(3) {} // 假设默认有三门课
// 获取学号
const std::string& getStudentID() const { return studentID; }
// 添加或获取成绩(例如,假设gradeIndex从0开始)
void addGrade(float grade, size_t gradeIndex = 0);
float getAverageGrade(); // 返回平均成绩
// 其他可能的方法,如显示学生信息等
};
// 实现addGrade方法
void Student::addGrade(float grade, size_t gradeIndex) {
if (gradeIndex < grades.size()) {
grades[gradeIndex] = grade;
} else {
std::cout << "Invalid grade index!" << std::endl;
}
}
// 实现getAverageGrade方法
float Student::getAverageGrade() {
if (grades.empty()) {
return 0.0;
}
float sum = 0.0;
for (const auto& grade : grades) {
sum += grade;
}
return sum / grades.size();
}
int main() {
Student student("001");
student.addGrade(85.0, 0); // 第一门课成绩
student.addGrade(90.0, 1); // 第二门课成绩
student.addGrade(95.0, 2); // 第三门课成绩
std::cout << "Student ID: " << student.getStudentID() << std::endl;
std::cout << "Average Grade: " << student.getAverageGrade() << std::endl;
return 0;
}
```
阅读全文