天天看点

3开发一个简单的大学人员管理程序,该程序可以管理大学的一些基本人员:学生(student)、教师(teacher)、教授(professor)。首先设计一个虚基类person。通过该类保存人员的最

#include <iostream>
#include<string.h>
using namespace std;
class person
{
private:
    string name,sex;
    int sage;
public:
    virtual void init(string n,string s,int sa)
    {
        name=n;
        sex=s;
        sage=sa;
    }
  virtual void print()
    {
        cout<<"姓名: "<<name<<endl;
        cout<<"性别: "<<sex<<endl;
        cout<<"年龄: "<<sage<<endl;

    }
};
class student:public person
{
private:
    string speciality;

public:
   virtual void init(string n,string s,int sa,string sp)
    {
        person::init( n,s,sa);
        speciality=sp;
    }
    virtual void print()
    {
        person::print();
        cout<<"专业: "<<speciality<<endl;
    }
};
class teacher:public person
{
private:
    string department;
    friend class stuteacher;
public:
   virtual void init(string n,string s,int sa,string d)
    {
        person::init(n,s,sa);
        department=d;
    }
   virtual void print()
    {
        person::print();
        cout<<"系别: "<<department<<endl;
    }
};
class stuteacher:public student,public teacher
{
public:
  virtual  void init(string n,string s,int sa,string sp,string d)
    {
        student::init( n,s,sa,sp);
        department=d;


    }
   virtual void print()
    {
       student::print();
       cout<<"系别: "<<department<<endl;
    }
};
int main()
{
    student qq;
    qq.init("赵宝宝","男",18,"物联网");
    qq.print();
    teacher ww;
    ww.init("王宝宝","男",40,"计算机学院");
    ww.print();
    stuteacher ee;
    ee.init("栋宝宝","男",40,"物联网","计算机学院");
    ee.print();
    return 0;
}