公众号如何更换运营者:C++高手救命

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 08:41:48
设计一个交通大学的类系统SJTUData;包括派生类Student(学生)、 Staff (职员);另有一类既作为学生又兼作助教的派生类StudentStaff(助教),它由Student类和Stuff类派生而来; Professor(教师)类由Stuff类派生而来。层次结构见下图。 要求:1. 基类中成员数据有{身份号、姓名、性别、地址、电话、部门(系)}; 2. 基类中至少包括不带参数的构造函数和带参数的两个构造函数、析构函数、Print( )函数(可设置虚函数)等成员函数; 3. Student和Staff类继承了SJTUData类,StudentStaff类多重继承Student和Staff类,Professor继承了Staff类,并且派生类新增各自的数据成员(自定义),继承类Print( )函数先调用基类的Print( )函数,然后调用各自保护成员函数Disp( )输出各自的私有数据成员; 为避免两义性,class Student: virtual public SJTUData; class Staff: virtual public SJTUData; 输入不同的类人员的信息后,可以输出相应人员的所有信息(包括公有和私有成员数据)。
我再线等,1点45以前希望大家帮我搞定啊,我急啊,有的话,我再追加100

virtual class SJTUData{
protect:
CString id;
CString name;
CString sex;
CString address;
CString phone;
CString party;
public:
SJTUData();
SJTUData(CString i_id,CString n_name);
virtual void Print(){}
void Disp();
};
SJTUData::SJTUData(CString i_id,CString n_name)
{
cout<<"输入相关信息"<<endl;
cin>>id>>name>>sex>>address>>phone>>party;

}
void SJTUData::Disp()
{
cout<<id<<name<<sex<<address<<phone<<party<<endl;
}

class Student: virtual public SJTUData
{
private:
CString student_value;
public:
virtual void Print(){ cout<<"I am a student"<<endl;}
void get_student_value{ cin>>student_value;}
};
class Staff: virtual public SJTUData
{
private:
CString staff_value;
public:
virtual void Print(){ cout<<"I am a staff"<<endl;}
void get_staff_value{ cin>>staff_value;}
};
class professor:public Staff
{
private:
CString professor_value;
public:
virtual void Print(){ cout<<"I am a professor"<<endl;)
void get_proessor_value{ cin>>staff_value;}
};
class studentstaff:public student,public staff
{
private:
CString student_staff;
public:
virtual void Print(){ cout<<"I am a student_staff"<<endl;)
void get_student_staff_value{ cin>>student_staff;}
};