警察和厨师

来源:互联网 发布:.shop域名什么时候推出 编辑:程序博客网 时间:2024/04/28 05:45

各个成员函数,只要输出相关的信息即可
请为各个类增加构造函数  
在实现中,可以增加需要的其他函数 
自行编制main函数,完成初步的测试

#include<iostream>#include<string>using namespace std;class Person{public:Person(int a,string na):age(a),name(na){}void action();string getname();private:int age;string name;};string Person::getname(){return name;}void Person::action(){cout<<name<<"正在做一些事情"<<endl;}class Police:public Person{public:Police(int a,string na,int l):Person(a,na),level(l){}void arrest(Person &p);private:int level;};void Police::arrest(Person &p){cout<<getname()<<"正在逮捕"<<p.getname()<<endl;}class Cook:public Person{public:Cook(int a,string na,double s):Person(a,na),salary(s){}void getCake(int);private:double salary;};void Cook::getCake(int n){cout<<getname()<<"制作了"<<n<<"个蛋糕,获得"<<salary<<"元"<<endl;}int main(){Person SunJian(29,"孙健");Police ZhaoLi(25,"赵立",3);ZhaoLi.action();ZhaoLi.arrest(SunJian);Cook WangZhan(30,"王战",3698);WangZhan.action();WangZhan.getCake(5);return 0;}
运行结果:

#include<iostream>#include<string>using namespace std;class Person{public:Person(int a,string na):age(a),name(na){}void action();string getname();private:int age;string name;};string Person::getname(){return name;}void Person::action(){cout<<name<<"正在做一些事情"<<endl;}class Police:public Person{public:Police(int a,string na,int l,Person le):Person(a,na),level(l),leader(le){}void arrest(Person &p);void show();private:Person leader;int level;};void Police::show(){action();cout<<getname()<<"领导是"<<leader.getname()<<endl;}void Police::arrest(Person &p){cout<<getname()<<"正在逮捕"<<p.getname()<<endl;}class Cook:public Person{public:Cook(int a,string na,double s,Police p):Person(a,na),salary(s),protector(p){}void getCake(int);void show();private:Police protector;double salary;};void Cook::show(){action();cout<<"厨师"<<getname()<<"的保护者是"<<protector.getname()<<endl;}void Cook::getCake(int n){cout<<getname()<<"制作了"<<n<<"个蛋糕,获得"<<salary<<"元"<<endl;}int main(){Person SunJian(29,"孙健");Police ZhaoLi(25,"赵立",3,SunJian);ZhaoLi.show();ZhaoLi.arrest(SunJian);Cook WangZhan(30,"王战",3698,ZhaoLi);WangZhan.show();WangZhan.getCake(5);return 0;}
运行结果:

#include<iostream>#include<string>using namespace std;class Person{public:Person(int a,string na):age(a),name(na){}void action();string getname();private:int age;string name;};string Person::getname(){return name;}void Person::action(){cout<<name<<"正在做一些事情"<<endl;}class Police:public Person{public:Police(int a,string na,int l,int a1,string na1):Person(a,na),level(l),leader(a1,na1){}void arrest(Person &p);void show();private:Person leader;int level;};void Police::show(){action();cout<<getname()<<"领导是"<<leader.getname()<<endl;}void Police::arrest(Person &p){cout<<getname()<<"正在逮捕"<<p.getname()<<endl;}class Cook:public Person{public:Cook(int a,string na,double s,int a1,string na1,int l,int a2,string na2):Person(a,na),salary(s),protector(a1,na1,l,a2,na2){}void getCake(int);void show();private:Police protector;double salary;};void Cook::show(){action();cout<<"厨师"<<getname()<<"的保护者是"<<protector.getname()<<endl;}void Cook::getCake(int n){cout<<getname()<<"制作了"<<n<<"个蛋糕,获得"<<salary<<"元"<<endl;}int main(){Person SunJian(29,"孙健");Police ZhaoLi(25,"赵立",3,29,"姜鹤");ZhaoLi.show();ZhaoLi.arrest(SunJian);Cook WangZhan(30,"王战",3698,25,"赵立",3,29,"姜鹤");WangZhan.show();WangZhan.getCake(5);return 0;}

运行结果:


0 0
原创粉丝点击