【问题描述】
(1) 设计一个名为Score 的类,表示成绩,这个类包括:
两个int 型数据成员:math 和eng,分别表示数学成绩和英语成绩一个带两个形参的构造函数,用给定的分数初始化math 和eng成员函数show(),输出数学成绩和英语成绩
(2) 设计一个名为Student 的类,表示学生,这个类包括:
两个数据成员:stuid(int 型,表示学号)和mark(Score 对象)
一个带三个形参的构造函数,对数据成员进行初始化
成员函数stushow(),输出学号和相应的成绩
实现这两个类,并在主函数中测试这个类,即键盘输入学生的学号、数学成绩、成绩,创建该学生,并在屏幕上输出该生的学号和成绩。(注:若没有特别说明,所有数据成员都是private,所有函数成员都是public)
【输入形式】输入学生的学号、数学成绩、成绩
【输出形式】创建该学生,在屏幕上输出该生的学号和成绩。
【样例输入】
学号:20190101
数学成绩:98
英语成绩:92
【样例输出】
学号:20190101
数学成绩:98
英语成绩:92
【样例说明】
【评分标准】
代码如下:
#include <iostream>
#include <string>
using namespace std;
//Score类
class Score {
int math;
int eng;
public:
Score(int math, int eng) : math(math), eng(eng) {}
void show() const {
cout << "数学成绩:" << math << endl;
cout << "英语成绩:" << eng << endl;
}
};
//Student类
class Student {
int stuid;
Score mark;
public:
Student(int stuid, int math, int eng) : stuid(stuid), mark(math, eng) {}
void stushow() const {
cout << "学号:" << stuid << endl;
mark.show();
}
};
int main() {
int stuid, math, eng;
cout << "学号:";
cin >> stuid;
cout << "数学成绩:";
cin >> math;
cout << "英语成绩:";
cin >> eng;
cout << endl;
Student stu(stuid, math, eng);
stu.stushow();
return 0;
}