第七周 项目三
2016-04-19 19:00
369 查看
/* *Copyright(c)2014,烟台大学计算机与控制工程学院 *Allrights reserved. *文件名称:test.cpp *作者:肖雪 *完成日期:2016年4月19日 *版本号:v1.0 * *问题描述:将上一周“项目2-带武器的游戏角色”用“一个项目多个文件”的方式实现,其中两个类的声明放在一个.h文件中, * 每个类的成员函数分别放一个文件,main()函数用一个文件 * */ 1.game.h:类声明 #ifndef GAME_H_INCLUDED #define GAME_H_INCLUDED using namespace std; class Role { public: void setRole(string M,int x); void weapon1(int); void weapon2(int); bool show(); void attack(); void eat(int); void beAttack(); private: string name; int blood; bool life; int shanghai=1; }; #endif // GAME_H_INCLUDED
2.role.cpp:定义角色类的成员函数 #include <iostream> #include "game.h" using namespace std; void Role::setRole(string M,int x) { blood=x; cout<<"名字:"<<M<<" 生命力:"<<blood<<endl; } bool Role::show() { if(blood>0) cout<<"生命力:"<<blood<<endl; else cout<<"已逝去"<<endl; return 0; } void Role::weapon1(int n) { cout<<"绝情剑的伤害为 "<<n<<endl; shanghai+=n; } void Role::weapon2(int n) { cout<<"流风琴的伤害为 "<<n<<endl; shanghai+=n; } void Role::attack() { cout<<"您造成了"<<shanghai<<"点伤害"<<endl; } void Role::eat(int n) { blood+=n; cout<<"您得到"<<n<<"点生命"<<endl; } void Role::beAttack() { blood=blood-1; cout<<"您减少"<<1<<"点生命"<<endl; }
3.main.cpp:测试函数 #include <iostream> #include "game.h" using namespace std; int main() { int x; Role mary; mary.setRole("花千骨",6); mary.show(); cout<<"请选择您的武器:1、绝情剑 2、流风琴"<<endl; cin>>x; switch(x) { case 1: mary.weapon1(3); break; case 2: mary.weapon2(2); break; } mary.attack(); mary.eat(2); mary.beAttack(); mary.attack(); mary.show(); return 0; }
相关文章推荐
- C语言单元测试框架Check
- C中一些运算符的使用
- 为什么Hibernate的OneToMany用Set集合而不用list
- SEGGER_RTT的使用
- mysql-proxy安装报错
- Android——listview android:cacheColorHint,android:listSelector属性作用
- 最大熵模型介绍及实现
- 从字符串中提取数字
- sqlserver中创建链接服务器图解教程
- 12rescue
- poj 2398 Toy Storage
- HDU Labyrinth DP
- 关于如何优化eclipse启动时间
- 进程和线程(Processes and Threads)——翻译自developer.android.com
- redis自动安装脚本(只安装redis)
- CSS定位
- js 放置 cookie、获取 cookie、删除 cookie
- 略论研发评审的必要性
- 苏轼眼里看到的技术世界(一)
- 微信支付开发(7) 收货地址共享接口V2