定义一个学生类:成员--> 姓名、年龄、成绩以及相关函数
定义一个老师类:成员--> 年龄、职称以及相关函数
由学生类和老师类共同派生出研究生类:成员--> 性别 实例化就研究生类的对象,并输出该对象的所有信息
#include <iostream>
using namespace std;
//学生类
class Student
{
public:
//无参构造函数
Student(){}
//有参构造函数
Student(string n,int a,int s):name(n),age(a),score(s){}
//析构函数
~Student(){}
//显示函数
void showInfo()
{
cout << "学生" <<"name:" << name << " " << "age:" << age << " " << "score:" << score << " " << endl;
}
protected:
string name;
int age;
int score;
};
//老师类
class Teacher
{
public:
Teacher(){}
Teacher(int a,string r):age(a),rank(r){}
~Teacher(){}
void showInfo()
{
cout << "老师:" << "age:" << age << " " << "tank:" << rank <<endl;
}
protected:
int age;
string rank;
};
//研究生类
class Graduate:public Student,public Teacher
{
public:
Graduate(){}
Graduate(string n,int a,int s,int a1,string r,string s1):Student(n,a,s),Teacher(a1,r),sex(s1){}
~Graduate(){}
void showInfo()
{
cout << "研究生" << " " << "name:" << name << " " << "age:" << Student::age << " " << "sex:" << sex << " " << "score:" << score << " " << endl;
cout << "指导老师" << " " <<"age:" << Teacher::age << " " << "rank:" << rank << endl;
}
private:
string sex;
};
int main()
{
Graduate g("洪庆乐",22,100,30,"教学处主任","男");
g.showInfo();
cout << "Hello World!" << endl;
return 0;
}