定义一个描述学生基本情况的类,数据成员包括姓名、学号以及C++、英语和数学成绩,成员函数包括输入输出数据、设置姓名和学号、设置三门课程的成绩,求出总成绩和平均成绩。(要求有两个以上的构造函数,各个字段的读写访问)。代码截图或手写拍照提交。
时间: 2024-10-07 19:06:16 浏览: 29
设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)
5星 · 资源好评率100%
为了创建一个描述学生基本情况的类,我们首先需要定义一个名为`Student`的类,并包含所需的属性和方法。以下是该类的示例实现:
```cpp
#include <iostream>
#include <string>
class Student {
private:
std::string name;
int student_id;
double cpp_score, english_score, math_score;
public:
// 构造函数1:默认构造函数
Student() : name(""), student_id(0), cpp_score(0), english_score(0), math_score(0) {}
// 构造函数2:接受姓名和学号
explicit Student(const std::string& name, int id)
: name(name), student_id(id), cpp_score(0), english_score(0), math_score(0) {}
// 析构函数(这里不显示,因为C++默认提供)
~Student() = default;
// 输入输出数据
void display() const {
std::cout << "Name: " << name << ", ID: " << student_id
<< ", C++ Score: " << cpp_score
<< ", English Score: " << english_score
<< ", Math Score: " << math_score << std::endl;
}
// 设置姓名和学号
void setName(const std::string& newName) { name = newName; }
void setStudentID(int newId) { student_id = newId; }
// 设置成绩
void setCppScore(double newCppScore) { cpp_score = newCppScore; }
void setEnglishScore(double newEnglishScore) { english_score = newEnglishScore; }
void setMathScore(double newMathScore) { math_score = newMathScore; }
// 计算总成绩和平均成绩
double calculateTotalAndAverage() const {
return cpp_score + english_score + math_score;
}
};
int main() {
// 创建一个学生实例并设置属性
Student student("张三", 12345);
student.setName("李四");
student.setStudentID(67890);
student.setCppScore(85);
student.setEnglishScore(90);
student.setMathScore(92);
// 输出学生信息
student.display();
// 计算并输出总成绩和平均分
double total = student.calculateTotalAndAverage();
double average = total / 3;
std::cout << "Total Score: " << total << ", Average Score: " << average << std::endl;
return 0;
}
```
在这个例子中,`Student`类有三个公共成员函数:两个构造函数用于初始化,一个`display`函数用于输出学生的详细信息,以及设置了成绩的setter方法和计算总分及平均分的`calculateTotalAndAverage`方法。
阅读全文