警察和厨师1

来源:互联网 发布:mac ps4手柄设置 编辑:程序博客网 时间:2024/05/17 08:05
#include <iostream>  
  
using namespace std;  
class Person  
{  
public:  
    Person(int a,string nam);  
    void action();  
    string getname(){return name;}  
protected:  
    int age;  
    string name;  
};  
Person::Person(int a,string nam):age(a),name(nam){}  
void Person::action()  
{  
    cout<<"姓名:"<<name<<endl;  
    cout<<"年龄:"<<age<<endl;  
}  
  
  
class Police:public Person  
{  
public:  
    Police(int a,string nam,int l,Person p);  
    void arrest(Person);  
    void show();  
private:  
    int level;  
    Person leader;  
};  
Police::Police(int a,string nam,int l,Person p):Person(a,nam),level(l),leader(p){}  
void Police::arrest(Person p)  
{  
    cout<<"Police"<<name<<" arrest "<<p.getname()<<endl;  
}  
void Police::show()  
{  
    cout<<"Police "<<getname()<<", leader is " <<leader.getname()<<endl;  
  
}  
  
  
class Cook:public Person  
{  
public:  
    Cook(int a,string nam,double s,Police p);  
    void getCake(int );  
    void show();  
private:  
    double salary;  
    Police protector;  
};  
Cook::Cook(int a,string nam,double s,Police p):Person(a,nam),salary(s),protector(p){}  
void Cook::show()  
{  
    cout<<"Cook "<<getname()<<" is protected by Police "<<protector.getname()<<endl;  
  
}  
void Cook::getCake(int n)  
{  
    cout<<name<<" cook "<<n<<" cake."<<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
原创粉丝点击