第五章5.19

来源:互联网 发布:北京linux培训哪家好 编辑:程序博客网 时间:2024/06/04 18:42
5.19设计一个虚基类base,包含姓名、年龄私有数据成员以及相关成员函数,由它派生出领导类leader包含职务和部门私有成员以及相关的成员函数;再有base派生出工程师类engieer,包含职称和专业私有数据成员以及相关成员函数;然后由leader和engieer派生出主任工程师类chairman。
#include<iostream>#include<string>using namespace std;class base{public:base(string n,int a){name=n;age=a;}void show1(){base::show();}void show(){cout<<"name:"<<name<<endl;cout<<"age:"<<age<<endl;}private:string name;int age;};class leader:virtual public base{public:leader(string n,int a):base(n,a){base::show();cout<<"past:";cin>>past;cout<<"department:";cin>>department;}void show1(){base::show();}void show(){cout<<"past:"<<past<<endl;cout<<"department:"<<department<<endl;}private:string past;string department;};class engieer :virtual public base{public:engieer(string n,int a):base(n,a){cout<<"title:";cin>>title;cout<<"major:";cin>>major;}void show(){cout<<"title:"<<title<<endl;cout<<"major:"<<major<<endl;}private:string title;string major;};class chairman :public leader,public engieer{public:chairman(string n,int a):base(n,a),leader(n,a),engieer(n,a){base::show();}void show(){base::show();leader::show();engieer::show();}};int main(){chairman as("liming",24);as.show();return 0;}

0 0
原创粉丝点击