第十一周上机实践项目 项目3-警察和厨师(2)
2016-05-19 09:25
393 查看
问题及代码:
【项目-警察和厨师】
(1)根据下面的类图,定义各个类:
要求:
各个成员函数,只要输出相关的信息即可,暂不深究其业务功能
请为各个类增加构造函数
在实现中,可以增加需要的其他函数
自行编制main函数,完成初步的测试
(2)下面的类图,为Polic类和Cook类增加了对象成员,请扩充代码,完成上述各项要求
运行结果:
知识点总结:
学习心得:
【项目-警察和厨师】
(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; }
运行结果:
知识点总结:
学习心得:
相关文章推荐
- 第12周项目1-实现复数类中的运算符重载(基础工程)
- 第九周阅读程序
- 第10、11周项目5-摩托继承自行车和机动车
- 数据结构和算法05 之红-黑树(看完包懂~)
- Poj The xor-longest Path 经典题 Trie求n个数中任意两个异或最大值
- 计算机程序的构造和解释 练习1.9
- 几种基础的算法学习 (php)
- 第10、11周项目5:摩托车继承自行车和机动车
- 【Android】导入第三方库时,关于so文件的一些思考
- uboot主Makefile分析
- C++实验6-数组合并
- Net Core MVC6 RC2 启动过程分析
- cJONS序列化工具解读三(使用案例)
- php script 的生命周期
- Flex xml格式化以及缩进量
- Android Studio如何查看branch列表及切换branch
- iOS学习之—— NSUserDefaults
- YOLO
- Pod经常冲突 拉下来缺少库
- 第11周项目3—警察和厨师 (2)