#include
#include
using namespace std;
class Teacher
{
public:
Teacher(string name,int age, string career)
{
m_Name = name;
m_Age = age;
m_Career = career;
}
void display();
protected:
string m_Name;
int m_Age;
string m_Career;
};
class Student :public Teacher
{
public:
Student(string name, int number, string career) :Teacher(name, career)
{
m_Number = number;
}
void display();
protected:
int m_Number;
};
class Graduate :public Teacher, public Student
{
public:
Graduate(string name, int age, int number, string career, double score) :Teacher(name, age, career), Student(name, number, score){};
void show(){
cout << "name:" << m_Name << endl;
cout << "age:" << m_Age << endl;
cout << "number" << m_Number << endl;
cout << "career" << m_career << endl;
}
};
int main(){
Graduate g1(string "zhangsan",int 25,career "teacher", 100);
g1.show();
return 0;
}
Student(string name, int number, string career) :Teacher(name, career)
Teacher构造函数要三个参数的
Graduate g1(string "zhangsan",int 25,career "teacher", 100);
改为:
Graduate g1("zhangsan",25,999,"teacher", 100);
Graduate(string name, int age, int number, string career, double score) :Teacher(name, age, career), Student(name, number, score){};这里给学生的数据也不对,学生构造函数第三个参数是职业,不是成绩
////
void show(){
cout << "name:" << m_Name << endl;
cout << "age:" << m_Age << endl;
这里的m_Name和m_Age应该指明是学生还是教师的姓名和性别,改为:
cout << "name:" << Teacher::m_Name << endl;
cout << "age:" << Teacher::m_Age << endl;