第十一周上机实践项目3(2):警察和厨师

来源:互联网 发布:数据库获取当前时间 编辑:程序博客网 时间:2024/05/17 03:05
/* *Copyright(c) 2016.烟台大学计算机与控制工程学院 *ALL rights  reserved. *文件名称:text.cpp *作者:赵子琳 *完成日期:2016年5月28日 *问题描述:下面的类图,为Polic类和Cook类增加了对象成员,请扩充代码,完成上述各项要求 */#include <iostream>using namespace std;class Person{public:    Person(int, string);    void action();    string getName(){return name;}private:    int age;    string name;};Person::Person(int a, string n):age(a), name(n) {}void Person::action(){    cout<<name<<endl;}class Police: public Person{public:    Police(int a, string n, int l, int la, string ln);    void arrest(Person);    void show();private:    int level;    Person leader;};Police::Police(int a, string n, int l, int la, string ln):Person(a,n),level(l),leader(la,ln) {}void Police::arrest(Person p){    cout<<"Police "<<getName()<<" arrest " <<p.getName()<<endl;}void Police::show(){    cout<<"Police "<<getName()<<", leader is " <<leader.getName()<<endl;}class Cook: public Person{public:    Cook(int a, string n, double s,int pa, string pn, int pl, int pla, string pln);    void getCake(int);    void show();private:    double salary;    Police protector;};Cook::Cook(int a, string n, double s,int pa, string pn, int pl, int pla, string pln):    Person(a,n),salary(s),protector(pa,pn,pl,pla,pln) {}void Cook::getCake(int n){    cout<<"Cook "<<getName()<<" gave me " <<n<<" cakes."<<endl;}void Cook::show(){    cout<<"Cook "<<getName()<<" is protected by Police "<<protector.getName()<<endl;}int main(){    Person tom(120,"Tom");    Police jack(30,"Jack",2,43,"Jerry");    Cook john(24,"John",5000,30,"Jack",2,43,"Jerry");    jack.show();    john.show();    return 0;}

0 0
原创粉丝点击