C++作业2-2
2016-04-15 17:36
337 查看
(1)基于下面设计的游戏中角色类,写出成员函数的实现。 #include<iostream> #include<string> using namespace std; class Role { public: void eat(int d); //吃东西,涨d血 void attack(); //攻击别人,涨1血 void beAttack(); //被攻击,失1血,血为0死掉 bool isAlived(); //是否活着 void setRole(string nam, int b); //设置 void show(); //显示 private: string name; int blood; bool life; }; void Role::eat(int d)//吃东西,涨d血 { if(isAlived()) blood+=d; } void Role::attack()//攻击别人,涨1血 { if(isAlived()) blood++; } void Role::beAttack()//被攻击,失1血,血为0死掉 { if(isAlived()) blood--; } bool Role::isAlived() //是否活着 { if(blood) life=true; else life=false; return life; } void Role::setRole(string nam, int b) //设置 { name=nam; blood=b; } void Role::show() //显示 { cout<<name<<" has "<<blood<<" blood, it is "; if(isAlived()) cout<<"alived"<<"."<<endl; else cout<<"dead"<<"."<<endl; } int main() { Role mary; mary.setRole("Mary", 4); mary.show(); mary.attack(); mary.eat(2); mary.beAttack(); mary.beAttack(); mary.show(); return 0; } (2)设计构造函数,使角色对象在创建时被初始化;设计析构函数,当角色对象被撤消时, 提示一句“XXX(名称)退出江湖…”。可以用下面的代码进行测试,运行结果参考右图: #include<iostream> #include<string> using namespace std; class Role { public: Role (string nam,int b); ~Role() { cout<<name<<" "<<"退出江湖..."<<endl; } void eat(int d); //吃东西,涨d血 void attack(); //攻击别人,涨1血 void beAttack(); //被攻击,失1血,血为0死掉 bool isAlived(); //是否活着 void setRole(string nam, int b); //设置 void show(); //显示 private: string name; int blood; bool life; }; Role::Role(string nam,int b) { name=nam; blood=b; } void Role::eat(int d)//吃东西,涨d血 { if(isAlived()) blood+=d; } void Role::attack()//攻击别人,涨1血 { if(isAlived()) blood++; } void Role::beAttack()//被攻击,失1血,血为0死掉 { if(isAlived()) blood--; } bool Role::isAlived() //是否活着 { if(blood) life=true; else life=false; return life; } void Role::setRole(string nam, int b) //设置 { name=nam; blood=b; } void Role::show() //显示 { cout<<name<<" has "<<blood<<" blood, it is "; if(isAlived()) cout<<"alived"<<"."<<endl; else cout<<"dead"<<"."<<endl; } int main( ) { Role mary("Mary", 4); Role jack("Jack", 0); mary.show(); jack.show(); return 0; }
相关文章推荐
- 巩固C语言(番外篇)----二级指针
- 话说:学好C语言,走遍天下都不怕
- 华为机试正式版(西安c/c++/java),今天下午去机试的题目,新奇出炉了!
- Windows平台下GCC编程之从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数
- C++笔记
- 关于理解《C++ 对象模型》中:把单一元素的数组放在末尾,struct可以拥有可变大小的数组
- 第一章 c语言概论
- C语言 计算某段程序的执行时间(毫秒)
- C语言内存管理
- C++之include<iostream>与include<iostream.h>
- 关于C++类的静态数据为什么一定要初始化
- c模拟c++ const 转换
- 【C++】Vs2008中使用智能指针
- 关于volatile
- LeanCloud C++ SDK初步安装测试记录(2)
- C++ const用法 尽可能使用const
- 巩固C语言(四)-----冒泡排序 & 二分查找 & 单次循环对二维数组赋初值
- C++多态篇3——虚函数表详解之多继承、虚函数表的打印
- MFC VC++多线程间通信
- C语言编写的PHP框架--yaf入门编程