第六周项目2-带武器的类
2016-04-13 18:19
309 查看
/* *Copyright(c) 2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:my.cpp *作 者:张瀚文 *完成日期:2016年4月13日 *版 本 号:v1.0 * *问题描述:1.用之前的代码 设计带武器的类 *输入描述: *程序输出: */ #include <iostream> using namespace std; class Weapon { public: int damage() { return w_damage; } Weapon(string ww_name,int ww_damage):w_name(ww_name),w_damage(ww_damage){} private : int w_damage; string w_name; } ; class Role { public: Role(string x,int n,string ww_name,int ww_damage):name(x),blood(n),weapon(ww_name,ww_damage){} ; void setRole(string x,int n,string w_name,int w_damage); void showmessage(); void attack(Role &x); void eat(int x); bool staus(); private: string name; int blood; bool life; Weapon weapon; }; bool Role::staus() { if(blood>0) life=true; else life=false; return life; } void Role::showmessage() { if(staus()) cout<<name<<" the blood:"<<blood<<endl<<"stuas:"<<" alive"<<endl; else cout<<"dead"<<endl; } void Role::attack(Role &x) { if(staus()) { blood+=weapon.damage(); x.blood-=weapon.damage(); if(x.blood<0) x.life=false; } } void Role::eat(int x) { blood+=x; } int main() { Role mary("mary",100,"sword",10); Role jack("jack",100,"axe",5); mary.showmessage(); jack.showmessage(); mary.attack(jack); mary.eat(2); jack.eat(4); mary.showmessage(); jack.showmessage(); return 0; }
<img src="https://img-blog.csdn.net/20160413181857932" alt="" />
相关文章推荐
- LeetCode 12 Integer to Roman
- 设置Eclipse下可以查看jdk源码
- DockerFile 参数详解
- ClassLoader 提供了两个方法用于从装载的类路径中取得资源:
- node js 基础 创建模块
- linux awk 内置函数详细介绍
- 发送一个模拟返回键
- TCP拥塞控制机制
- Tips
- ffmpeg使用Json简洁显示视频的音频信息
- Ruby中XML格式数据处理库REXML的使用方法指南
- HDU2066:一个人的旅行(Dijkstra)
- Pentaho Work with Big Data(五)—— 格式化原始web日志
- clustered index
- git找到丢失的commit
- 横向ProgressBar进度条的设置
- Linear Programming Learning Notes (2) The Simplex Method
- hbase shell基础和常用命令详解
- Mybatis动态sql语句
- Go编程