第五周项目(3)-设计游戏角色(2)-析构函数
2016-04-04 12:50
281 查看
/*
*copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:hellow.cpp
*作者:田甜
*完成日期:2016年3月31日
*版本号:v1.0
*
*问题描述:设计一个游戏角色类
*输入描述:输入角色姓名,生命值
*程序输出:角色当前状态,并在角色使用结束后输出退出江湖
*/
问题及代码:
运行结果:
心得:构造函数的名字与类名相同,且没有类型。析构函数在主函数中不需要语句调用就可自动执行
/*
*copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:hellow.cpp
*作者:田甜
*完成日期:2016年3月31日
*版本号:v1.0
*
*问题描述:设计一个游戏角色类
*输入描述:输入角色姓名,生命值
*程序输出:角色当前状态,并在角色使用结束后输出退出江湖
*/
问题及代码:
#include <iostream> using namespace std; class Role { public: Role(string nam,int blo); ~Role(); void shoe_role(); bool is_alived(); void attack(); void be_attacked(); void eat(int d); private: string name; int blood; bool life; }; Role::Role(string nam,int blo)//构造函数 { name=nam; blood=blo; if(blood>0) life=true; else life=false; } Role::~Role()//析构函数 { cout<<name<<"退出江湖。。。"<<endl; } void Role::shoe_role()//显示角色状态 { cout<<name<<" has "<<blood<<" blood, it is "; if(is_alived()) cout<<"alived."<<endl; else cout<<"died."<<endl; } void Role::eat(int d)//吃东西涨血,涨d个血 { if(is_alived()) blood+=d; } void Role::attack()//攻击其他玩家,涨一个血 { if(is_alived()) blood++; } void Role::be_attacked()//被攻击,失一个血 { if(is_alived()) blood--; } bool Role::is_alived()//判断角色是否死亡 { if(blood>0) life=true; else life=false; return life; } int main() { Role mary("mary",4); Role jack("jack",2); mary.attack(); jack.be_attacked(); mary.shoe_role(); jack.shoe_role(); mary.attack(); jack.be_attacked(); mary.eat(2); mary.shoe_role(); jack.shoe_role(); return 0; }
运行结果:
心得:构造函数的名字与类名相同,且没有类型。析构函数在主函数中不需要语句调用就可自动执行
相关文章推荐
- POJ3114 Countries in War (强连通分量 + 缩点 + 最短路径 + 好题)
- Android学习之界面篇(三)LayoutAnimationController详细介绍
- Tomcat 部署详解
- epoll完整例子
- 106. Construct Binary Tree from Inorder and Postorder Traversal
- 创客空间
- C++11 std::bind std::function 高级使用方法
- GestureDetector手势识别浅析
- storyboard放大与缩小
- ZendFramework小例子——投票
- 开灯问题
- LCD电子书项目(三)
- 理解inode
- java线程池的使用
- HDU 3726 Graph and Queries(treap)
- java中的静态分派与动态分派
- AOP(以MVC中的过滤器为例)
- 分布式系统学习 - 书签
- 使用wireshark常用的过滤命令
- tomcat如何配置环境变量