补充程序之游戏系列— 1游戏中的角色类 (2)
2016-06-07 15:37
204 查看
*Copyright(c) 2016.烟台大学计算机与控制工程学院
*ALL rights reserved.
*文件名称:main.cpp
*作者:孙亚茹
*完成日期:2016年6月7日
*问题描述:在(1)的基础上,设计构造函数,及析构函数。
*//
总结:
温故而知新,析构函数的析构符号要写在两个冒号后面。
*Copyright(c) 2016.烟台大学计算机与控制工程学院
*ALL rights reserved.
*文件名称:main.cpp
*作者:孙亚茹
*完成日期:2016年6月7日
*问题描述:在(1)的基础上,设计构造函数,及析构函数。
*//
#include <iostream> using namespace std; class Role { public: Role(string nam,int b):name(nam),blood(b) {}; ~Role(); void show(); void attack(); void eat(int n); void beAttack(); bool isLife(); private: string name; int blood; bool life; }; bool Role::isLife() { if(blood>0) return true; else return false; } Role::~Role() { cout<<name<<"退出江湖..."<<endl; } void Role::attack() { if(isLife()) { blood++; } } void Role::eat(int n) { if(isLife()) { blood+=n; } } void Role::beAttack() { if(isLife()) { blood--; } } void Role::show() { if(isLife()) cout<<name<<"还有"<<blood<<"滴血"<<endl; else cout<<name<<"已经死了"<<endl; } int main() { Role mary("Mary",4); Role jack("Jack",1); mary.show(); jack.show(); int n; while(1) { cout<<" 1 maryAttack 2 maryBeAttack 3 maryEat 4 jackAttack 5 jack,BeAttck 6 jackEat"<<endl; cout<<"请您选择相应的动作:"<<endl; cin>>n; if(n==1) { mary.attack(); mary.show(); } else if(n==2) { mary.beAttack(); mary.show(); } else if(n==3) { mary.eat(2); mary.show(); } else if(n==4) { jack.attack(); jack.show(); } else if(n==5) { jack.beAttack(); jack.show(); } else if(n==6) { jack.eat(2); jack.show(); } else break; } return 0; }
总结:
温故而知新,析构函数的析构符号要写在两个冒号后面。
相关文章推荐
- 竖直滑动View制作引导页
- arm汇编中ldr指令中出现的等号作用
- (Android)线程池
- iOS巅峰之摇一摇功能的实现
- ubuntu修改host
- 图像的变换模型
- scrollview拦截子控件的滑动
- 如何检测鼠标/触摸点碰到某个collider2D?
- iOS中常见的6种传值方式,UIPageViewController
- python itertools模块指南
- APK加固
- ERP升级实施分布整理
- Spring容器初始化过程
- jQuery 如何先创建、再修改、后添加DOM元素
- TortoiseGit和Git操作git@osc简要说明
- JRDB:iOS对FMDB的超好用封装
- Android 动画 - AnimationSet 动画集合使用(附图)
- 动态加载so库文件
- 4、redis.conf中replication配置项说明
- android的Toast吐司在子线程中弹出的工具类