第十一周项目三警察与厨师

来源:互联网 发布:如何看待刘邦 知乎 编辑:程序博客网 时间:2024/05/05 16:16
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:main.cpp *作    者:闫舒 *完成日期:2016年6月13日 *版 本 号:vc++6.0 * *问题描述: 完成警察类和厨师类 *输入描述: *程序输出: */#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<<" do some action"<<endl;}class Police: public Person{public:    Police(int a, string n, int l, Person);    void arrest(Person);    void show();private:    int level; //级别    Person leader;  //增加了Person类的领导};Police::Police(int a, string n, int l, Person p):Person(a,n),level(l),leader(p) {}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,Police p);    void getCake(int);    void show();private:    double salary; //薪水    Police protector;  //厨师小店的警察};Cook::Cook(int a, string n, double s,Police p):    Person(a,n),salary(s),protector(p) {}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 jerry(43,"Jerry");    Police jack(30,"Jack",2,jerry);    Cook john(24,"John",5000,jack);    jack.show();    john.show();    return 0;}

运行结果:


0 0
原创粉丝点击