求助!设计一个虚基类base,包含姓名和年龄私有数据成员以及相关的成员函数,由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数.再由base类派生出工程师类 engineer,包含职称和专业私有数据成员以及相关的成员函数.然后由leader和engineer类派生出主任工程师类chairman.采用一些数据进行测试.
一个新手,希望给以帮助,谢谢.
/*设计一个虚基类base,包含姓名和年龄私有数据成员以及相关的成员函数,
由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数.
再由base类派生出工程师类 engineer,包含职称和专业私有数据成员以及相关的成员函数.
然后由leader和engineer类派生出主任工程师类chairman.采用一些数据进行测试.
*/
#include <iostream.h>
#include <string.h>
class Base
{
public:
void Name(char name[10])
{
strcpy(m_cName,name);
cout<<"姓名为:"<<m_cName<<endl;
}
void Age(int age)
{
m_iAge=age;
cout<<"年龄为:"<<m_iAge<<endl;
}
private:
char m_cName[10];
int m_iAge;
};
class Leader:virtual public Base
{
public:
void Position(char position[10])
{
strcpy(m_cPosition,position);
cout<<"职位为:"<<m_cPosition<<endl;
}
void Department(char department[10])
{
strcpy(m_cDepartment,department);
cout<<"部门为:"<<m_cDepartment<<endl;
}
private:
char m_cPosition[10];
char m_cDepartment[10];
};
class Engineer:virtual public Base
{
public:
void Major(char major[10])
{
strcpy(m_cmajor,major);
cout<<"专业为:"<<m_cmajor<<endl;
}
void Zhicheng(char zhicheng[10])
{
strcpy(m_czhicheng,zhicheng);
cout<<"职称为:"<<m_czhicheng<<endl;
}
private:
char m_cmajor[10];
char m_czhicheng[10];
};
class Chairman:virtual public Leader,virtual public Engineer
{
};
void main(void)
{
Leader obj1;
obj1.Name("lijing");
obj1.Age(20);
obj1.Position("jingli");
obj1.Department("xiaoshou");
Engineer obj2;
obj2.Name("lijing");
obj2.Age(20);
obj2.Major("computer");
obj2.Zhicheng("wu");
cin.get();
}