代码实现
定义一个学生类(Student)︰保护成员–>姓名、年龄、成绩以及相关函数
定义一个老师类(Teacher):保护成员–>年龄、职称以及相关函数
输出函数由学生类和老师类共同派生出研究生类(Graduate) ︰成员–>性别
实例化出研究生类的对象,并输出该对象的所有信息
#include <iostream>
using namespace std;
class Student
{
protected:
string name;
int age;
double score;
public:
Student(){cout<<"Studen::无参构造"<<endl;}
Student(string name,int age,double score):name(name),age(age),score(score)
{cout<<"Studen::有参构造"<<endl;}
void show(){
cout<<"学生姓名为:"<<name<<endl;
cout<<"学生年龄为:"<<age<<endl;
cout<<"学生成绩为:"<<score<<endl;
}
};
class Teacher
{
protected:
int age;
string rank;
public:
Teacher(){cout<<"Teacher::无参构造"<<endl;}
Teacher(int age,string rank):age(age),rank(rank)
{cout<<"Teacher::有参构造"<<endl;}
void show(){
cout<<"老师年龄为:"<<age<<endl;
cout<<"老师职称为:"<<rank<<endl;
}
};
class Graduate:public Student,public Teacher
{
protected:
string sex;
public:
Graduate(){cout<<"Graduate::无参构造"<<endl;}
Graduate(string name,int age,double score,string rank,string sex):
Student(name,age,score),Teacher(age,rank),sex(sex)
{cout<<"Graduate::有参构造"<<endl;}
void show(){
cout<<"研究生姓名为:"<<name<<endl;
cout<<"研究生年龄为:"<<Student::age<<endl;
cout<<"研究生作为学生成绩为:"<<score<<endl;
cout<<"研究生作为老师职位为:"<<rank<<endl;
cout<<"研究生性别为:"<<sex<<endl;
}
};
int main()
{
Graduate g("赵阳",21,60,"饮水机管理员","男");
g.show();
return 0;
}