c++第五次作业

来源:互联网 发布:coreldraw x5软件下载 编辑:程序博客网 时间:2024/06/06 02:52
[cpp] view plain copy
  1. </pre><pre name="code" class="cpp">#include <iostream>    
  2. #include <string>    
  3. using namespace std;    
  4. class Person    
  5. {    
  6.     string name;  // 姓名    
  7.     int age;      // 年龄    
  8. public:    
  9.     Person() {}    
  10.     void setname(string na)    
  11.     {    
  12.         name=na;    
  13.     }    
  14.     void setage(int a)    
  15.     {    
  16.         age=a;    
  17.     }    
  18.     string getname()    
  19.     {    
  20.         return name;    
  21.     }    
  22.     int getage()    
  23.     {    
  24.         return age;    
  25.     }    
  26. };    
  27. class Leader: virtual public Person    // (1)    
  28. {    
  29.     string job;     // 职务    
  30.     string dep;     // 部门    
  31. public:    
  32.     Leader() { }    
  33.     void setjob(string jb)    
  34.     {    
  35.         job=jb;    
  36.     }    
  37.     void setdep(char dp[])    
  38.     {    
  39.         dep=dp;          
  40.     }    
  41.     string getjob()    
  42.     {    
  43.         return job;    
  44.     }    
  45.     string getdep()    
  46.     {    
  47.         return dep;    
  48.     }    
  49. };    
  50. class Engineer: virtual public Person     // (2)    
  51. {    
  52.     string major;     // 专业    
  53.     string prof;      // 职称    
  54. public:    
  55.     Engineer () { }    
  56.     void setmajor(string maj)    
  57.     {    
  58.         major=maj;    
  59.     }    
  60.     void setprof(string pf)    
  61.     {    
  62.         prof=pf;    
  63.     }    
  64.     string getmajor()    
  65.     {    
  66.         return major;    
  67.     }    
  68.     string getprof()    
  69.     {    
  70.         return prof;    
  71.     }    
  72. };    
  73. class chairman: public Leader,public Engineer  { } ;// (3)    
  74. int main()    
  75. {    
  76.     chairman c;    
  77.     c.setname("张三");    
  78.     c.setage(42);    
  79.     c.setjob("处长");    
  80.     c.setdep("技术处");    
  81.     c.setmajor("轮机设计");    
  82.     c.setprof("高级工程师");    
  83.     cout <<c.getname() << "," <<c.getage()<<" 岁,担任" <<c.getdep() <<c.getjob() <<endl;    
  84.     cout <<c.getprof() << ",从事" << c.getmajor()<< "专业" << "。 " << endl;    
  85.     return 0;    
  86. }    
0 0
原创粉丝点击