写一个科目类,包含科目名称,科目分数2个数据成员,一个衡量科目是否及格的成员函数,用其构造函数为科目对象提供初始值,该构造函数无参数,在构造函数里面读入具体的值。
写一个学生类,含学号,姓名2个数据成员,以及一个科目类对象指针成员(指向语数外三门科目对象组成的对象数组),在学生类的构造函数中为学生的学号和姓名提供初始值,并为科目对象指针申请空间,在学生类中用成员函数展示其三门课成绩并说明是否及格,请编写程序。
代码:
#include<iostream>
#include<string>
using namespace std;
class Subject {
string SubjectName;
int SubjectScore;
public:
Subject();
void check();
};
Subject::Subject() {
cout << "请输入科目名字:";
cin >> SubjectName;
cout << "请输入" << SubjectName << "成绩:";
cin >> SubjectScore;
}
void Subject::check() {
cout << SubjectName <<" "<< SubjectScore;
if (SubjectScore < 60) {
cout << " 不及格 " << endl;
} else {
cout << " 及格 " << endl;
}
}
class Student {
long int id;
string name;
Subject* p;
public:
Student();
~Student();
void print();
};
Student::Student() {
name = "张某三";
id = 2019001;
p = new Subject[3];
}
Student::~Student() {
delete[] p;
}
void Student::print() {
cout << "学号:" << id<< ",姓名:" << name << ",成绩如下:" << endl;
p[0].check();
p[1].check();
p[2].check();
}
int main() {
Student b;
b.print();
return 0;
}
运行结果: