The police and cooker 2


  1. *Copyright(c)2016,烟台大学计算机与控制工程学院 
  2.  *All rights reserved 
  3.  *文件名称:123.cpp 
  4.  *作    者:隋宗涛
  5.  *完成日期:2016年5月10日 
  6.  *版 本 号:v1.0 
  7.  * 
  8.  *问题描述:根据类图,为Police类和Cook类增加了对象成员,请扩充代码,并完成测试。 
  9. */  
  10. #include <iostream>  
  11. using namespace std;  
  12. class Person  
  13. {  
  14. public:  
  15.     Person(int a, string n):age(a),name(n){};  
  16.     void action();  
  17.     string getName()  
  18.     {  
  19.         return name;  
  20.     }  
  21. private:  
  22.     int age;  
  23.     string name;  
  24. };  
  25. void Person::action()  
  26. {  
  27.     cout<<" "<<name<<" does a action"<<endl;  
  28. }  
  29. class Police: public Person  
  30. {  
  31. public:  
  32.     Police(int a, string n, int l, Person p);  
  33.     void arrest(Person);  
  34.     void show();  
  35. private:  
  36.     int level; //级别  
  37.     Person leader;  //领导  
  38. };  
  39. Police::Police(int a, string n, int l, Person lea):Person(a,n),level(l),leader(lea) {}  
  40. void Police::arrest(Person p)  
  41. {  
  42.     cout<<"Police "<<getName()<<" arrest " <<p.getName()<<endl;  
  43. }  
  44. void Police::show()  
  45. {  
  46.     cout<<"Police "<<getName()<<", leader is " <<leader.getName()<<endl;  
  47. }  
  48. class Cook: public Person  
  49. {  
  50. public:  
  51.     Cook(int a, string n, double s,Police pr);  
  52.     void getCake(int,Person);  
  53.     void show();  
  54. private:  
  55.     double salary; //薪水  
  56.     Police protector;  //厨师小店的片区警察  
  57. };  
  58. Cook::Cook(int a, string n, double s,Police pr):Person(a,n),salary(s),protector(pr) {}  
  59. void Cook::getCake(int n,Person p)  
  60. {  
  61.     cout<<"Cook "<<getName()<<" gave " <<p.getName()<<" "<<n<<" cakes."<<endl;  
  62. }  
  63. void Cook::show()  
  64. {  
  65.     cout<<"Cook "<<getName()<<" is protected by "<<protector.getName()<<endl;  
  66. }  
  67.   
  68. int main()  
  69. {  
  70.     Person Jason(43,"Jason");  
  71.     Police King(30,"King",2,Jason);  
  72.     Cook Bob(24,"Bob",5000,King);  
  73.     King.show();  
  74.     Bob.show();  
  75.     Bob.getCake(5,Jason);  
  76.     return 0;  
  77. }  
  78. 运行结果:  
The police and cooker 2_第1张图片

你可能感兴趣的:(The police and cooker 2)