设计一个学生类,通过该类能够得到学生总成绩(学分*单科分数)。研究生类从学生类派生而来,每个研究生都有导师指导,编写程序,实现对研究生成绩的访问,并且打印出该生的导师名字。(要求所有类的设计用到构造函数)
#include<bits/stdc++.h>
using namespace std;
class student{
int score1,credit1;
int score2,credit2;
int total;
public:
student(int s1,int c1,int s2,int c2){
score1=s1;
credit1=c1;
score2=s1;
credit2=c2;
total=score1*credit1+score2*credit2;
}
void print(){
cout<<"高数的学分为"<<score1<<",成绩为"<<credit1<<endl;
cout<<"大英的学分为"<<score2<<",成绩为"<<credit2<<endl;
cout<<"总成绩为"<<total<<endl;
}
};
class graduate:public student
{
char *teacher_name;
public:
graduate(const char *tn,int s1,int c1,int s2,int c2):student(s1,c1,s2,c2){
teacher_name=new char[strlen(tn)+1];
strcpy(teacher_name,tn);
}
void display(){
cout<<"该研究生的导师为"<<teacher_name<<",他的成绩如下:"<<endl;
student::print();
}
};
int main(void){
graduate a("phoebe",100,4,99,3);
a.display();
}