代码实现 定义一个学生类:成员-->姓名、年龄、成绩以及相关函数 定义一个老师类:成员-->年龄、职称以及相关函数 由学生类和老师类共同派生出研究生类:成员-->性别 实例化就研究生类的对象,并输出该对象的所有信息
#include <iostream>
#include <string>
using namespace std;
class Stu
{
protected:
string name;
int age;
float score;
public:
Stu(){}
~Stu(){}
Stu(string n,int a,float s):name(n),age(a),score(s){}
Stu(const Stu &other):name(other.name),age(other.age),score(other.score){}
Stu & operator=(const Stu&other)
{
if(this != &other)
{
name = other.name;
age = other.age;
score = other.score;
}
return *this;
}
void show()
{
cout<<name<<" "<<age<<" "<<score<<endl;
}
};
class Tea
{
protected:
int age;
string title;
public:
Tea(){}
~Tea(){}
Tea(int a,string t):age(a),title(t){}
Tea(const Tea &other):age(other.age),title(other.title){}
Tea & operator=(const Tea&other)
{
if(this != &other)
{
age = other.age;
title = other.title;
}
return *this;
}
void show()
{
cout<<age<<" "<<title<<endl;
}
};
class Post:public Stu,public Tea
{
protected:
char sex;
public:
Post(){}
~Post(){}
Post(string n,int a,float s,string t,char c):Stu(n,a,s),Tea(a,t),sex(c){}
Post(const Post & other):Stu(other),Tea(other),sex(other.sex){}
Post & operator =(const Post &other)
{
if(this != &other)
{
Stu::operator =(other);
Tea::operator =(other);
sex = other.sex;
}
return *this;
}
void show()
{
cout<<name<<" "<<Stu::age<<" "<<score<<" "<<title<<" "<<sex<<endl;
}
};
int main()
{
Post p("lihua",35,85,"master",'m');
p.show();
return 0;
}