*设计一个虚基类base,包含name和私有数据成员以及相关的成员函数,
由它派生出领导类leader,包含职务和部门私有数据成员以及相关的成员函数(自定义)。
再由base派 生出工程师类engineer,包含职称和专业私有数据成员以及相关的成员函数(自定义)。
然后由leader和engineer类派生出主任工程师类chairman。
采用一些数据进行测试,注意构造函数调用的先后顺序。*/
#include <iostream>
#include <string>
using namespace std;
class Base
{
public:
Base(string na):name(na)
{
cout<<"Constructing Base"<<endl;
}//构造函数
Base(){};
string getN() const
{
return name;
}
void showBase()
{
cout<<"Name:"<<name<<endl;
}
private:
string name;
};
class Leader:vi