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

来源:互联网 发布:网络创世纪uo汉化 编辑:程序博客网 时间:2024/05/17 02:16

问题及代码:

【项目-警察和厨师】
(1)根据下面的类图,定义各个类:
这里写图片描述
要求:
各个成员函数,只要输出相关的信息即可,暂不深究其业务功能
请为各个类增加构造函数
在实现中,可以增加需要的其他函数
自行编制main函数,完成初步的测试

(2)下面的类图,为Polic类和Cook类增加了对象成员,请扩充代码,完成上述各项要求
这里写图片描述 

/* Copyright(c)2016,烟台大学计算机与控制工程学院  All rights reserced 文件名称:test.cpp 作    者:蔡汝佳 完成日期:2016年5月19日 版 本 号:v1.0 问题描述: 输入描述: 程序输出:*/#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
原创粉丝点击