第十一周项目3.2—警察和厨师
2016-05-19 08:58
232 查看
问题及代码:
运行结果:
/* *Copyright(c) 2016.烟台大学计算机与控制工程学院 *ALL rights reserved. *文件名称:main.cpp *作者:郝昱猛 *完成日期:2016年5月19日 *问题描述:根据下面的图,定义各个类: *要求: 请为各个类增加构造函数,可以增加需要的其他函数,自行编制main函数,完成初步的测试 */ #include <iostream> using namespace std; class Person { public: Person(int a,string nam):age(a),name(nam){} void action(); string getName() { return name; } private: int age; string name; }; void Person::action() { cout<<name<<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 "<<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 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::getCake(int c) { cout<<"Cook "<<getName()<<"gave me " <<c<<"cakes "<<endl; } void Cook::show() { cout<<"Cook "<<getName()<<"is protected by Police "<<protector.getName()<<endl; } int main() { Person tom(40,"Tom"); Police jack(30,"Jack",2,tom); Cook john(24,"John",500,jack); jack.arrest(tom); john.getCake(4); jack.show(); john.show(); return 0; }
运行结果:
相关文章推荐
- 第9周项目2-我的数组类
- C++实验6-数组合并
- 第九周 项目1-深复刻体验
- 数组类运算的实现
- hdu 1398Square Coins(dp或者母函数)
- [翻译]如何在HTML5中有效使用ARIA
- mysql索引学习
- mysql配置文件
- win10怎么安装ps cc2015 win10系统安装Photoshop cc2015的详细图文教程
- 第8周项目1- 数组作数据成员
- e2fsck -f -y -v -C 0 /dev/sda9
- DNS负载均衡问题
- Java实现-二叉树先序,中序,后序遍历及递归,非递归遍历
- 第五周项目二(1)游戏中的角色类
- 树莓派3 设置root用户自动登录
- 乱弹集锦:火柴棍艺术大神
- 在ASP.NET 2.0中操作数据之六十六:在TableAdapters中使用现有的存储过程
- C++设计模式之工厂模式
- hdu 1028Ignatius and the Princess III(dp)
- hdu 1016 Prime Ring Problem