练习题目
定义一个学生类:成员--> 姓名、年龄、成绩以及相关函数
定义一个老师类:成员--> 姓名、年龄、职称以及相关函数
由学生类和老师类共同派生出研究生类:成员--> 性别
实例化就研究生类的对象,并输出该对象的所有信息
注意:1、两个父类型中的成员不能是private权限,不然子类继承后不能访问父类成员。
2、如果一个子类有多个父类,且其父类的成员名有冲突,访问时需要加上类名和作用域限制符。
#include <iostream>
using namespace std;
class Student
{
public:
Student(){}
Student(string n, int a, float s):name(n),age(a),socre(s){}
protected:
string name;
int age;
float socre;
};
class Teacher
{
public:
Teacher() {}
Teacher(int a,string n, string j):age(a),name(n),job(j){}
protected:
int age;
string name;
string job;
};
class Graduate:public Student,public Teacher
{
public:
Graduate(){}
Graduate(string n1, int a1, float s, int a2, string n2, string j, string se):Student(n1,a1,s),Teacher(a2,n2,j),sex(se){}
void show()
{
cout<<"该研究生的名字为:"<<Student::name<<"\t年龄:"<<Student::age<<"\t成绩:"<<socre<<"\t性别为:"<<sex<<endl;
cout<<"其导师的名字为:"<<Teacher::name<<"\t年龄:"<<Teacher::age<<"\t职称:"<<job<<endl;
}
private:
string sex;
};
int main()
{
Graduate g1("张三",22,95.5,38,"王五","生物工程","男");
g1.show();
return 0;
}