作业:
代码实现
定义一个学生类:成员-->姓名、年龄、成绩以及相关函数
定义一个老师类:成员-->年龄、职称以及相关函数
由学生类和老师类共同派生出研究生类:成员-->性别
实例化就研究生类的对象,并输出该对象的所有信息
代码:
#include <iostream>
using namespace std;
class Teacher//老师类
{
public:
Teacher(){}
Teacher(int a,string j):age(a),job(j){}//构造初始化
Teacher(const Teacher& R)
{
age=R.age;
job=R.job;
}
void show()//打印信息
{
cout<<"Teacher age: "<<age<<" job: "<<job<<endl;
}
protected:
int age;
string job;
};
class Student//学生类
{
public:
Student(){}
Student(string n,int a,int s):name(n),age(a),score(s){}//构造初始化
Student(const Student& R)
{
name=R.name;
age=R.age;
score=R.score;
}
void show()//打印信息
{
cout<<"Student name: "<<name<<" age: "<<age<<" score: "<<score<<endl;
}
protected:
string name;
int age;
int score;
};
class Graduate:public Teacher,public Student//研究生类,继承学生老师类
{
public:
Graduate(){}
Graduate(string n,int a,int s,string x):Student(n,a,s),sex(x){}//构造初始化
Graduate(const Graduate& R):Student(R),sex(R.sex){}
void show()
{
cout<<"Graduate name: "<<name<<" age:"<<Student::age<<" score:"<<score\
<<" sex:"<<sex<<endl;
}
protected:
string sex;
};
int main()
{
Teacher t1(50,"headmaster");
t1.show();
Student s1("zhangsan",20,98);
s1.show();
Graduate g1("wangwu",25,90,"man");
g1.show();
g1.Student::show();
// Graduate g2(g1);
// g2.show();
return 0;
}