虚基类问题!忙各位帮忙解决一下!
#include<iostream>#include<string>
using namespace std;
/*********数据类*********/
class date
{
private:
string name;//姓名
public:
date();//无参构造函数
date(string name);//有参构造函数
void print();//输出函数
};
/*********教师类*********/
class teacher:virtual public date
{
private:
float salary;//薪资
public:
teacher();//无参构造函数
teacher(string name,float salary);//有参构造函数
void print();//输出函数
};
/*********学生类*********/
class student:virtual public date
{
private:
string number;//学号
public:
student();//无参构造函数
student(string name,string number);//有参构造函数
void print();//输出函数
};
/*********研究生类*********/
class postgrad:public student
{
private:
string dn;//系别
public:
postgrad();//无参构造函数
postgrad(string name,string number,string dn);//有参构造函数
void print();//输出函数
};
/*********在职研究生类*********/
class tpost:public teacher,public postgrad
{
public:
tpost();//无参构造函数
tpost(string name,string number,string dn);//有参构造函数
void print();//输出函数
};
/*********主函数*********/
int main()
{
return 0;
}
/*********数据类成员函数的定义*********/
date::date()//无参构造函数
{
}
date::date(string name)//有参构造函数
{
this->name=name;
}
void date::print()//输出函数
{
cout<<"姓名:"<<name;
}
/*********教师类成员函数的定义*********/
teacher::teacher()//无参构造函数
{
}
teacher::teacher(string name,float salary):date(name)//有参构造函数
{
this->salary=salary;
}
void teacher::print()//输出函数
{
date::print();
cout<<"薪水:"<<salary;
}
/*********学生类成员函数的定义*********/
student::student()//无参构造函数
{
}
student::student(string name,string number):date(name)//有参构造函数
{
this->number=number;
}
void student::print()//输出函数
{
date::print();
cout<<"学号:"<<number;
}
/*********研究生类成员函数的定义*********/
postgrad::postgrad()//无参构造函数
{
}
postgrad::postgrad(string name,string number,string dn):student(name,number)//有参构造函数
{
this->dn=dn;
}
void postgrad::print()//输出函数
{
student::print();
cout<<"所属系:"<<dn;
}
/*********在职研究生类成员函数的定义*********/
tpost::tpost()//无参构造函数
{
}
tpost::tpost(string name,float salary,string number,string dn):teacher(name,salary),postgrad(name,number,dn),date(name)//有参构造函数
{
}
void tpost::print();//输出函数
{
postgrad::print();
}
数据类(date)被教师类(teacher)继承、数据类(date)被学生类(student)继承,学生类(student)被研究生类(postgrad)继承,教师类(teacher)和研究生类(postgrad)被
在职研究生类(tpost)继承。我想把数据类(date)声明为虚基类可以吗?可以的话,怎么声明???