资源简介
一、 请把类Tool的定义补充完整,要求:
1. 类Tool有成员变量strength(int)和 type (char)
2. 成员函数void setStrength(int),设置strength
3. 从类Tool 继承产生3个子类Rock, Paper, Scissors,他们各有一个构造函数,带有int参数strength, 以及char型参数type 'r' ( Rock), 'p' ( Paper), 's' (Scissors)
4. 3个子类都各自有一个公有函数bool fight(Tool),比较各自的strength,要求成员变量strength在战斗过程中不会发生变化,比较的规则如下:
1) Rock在和 scissors战斗时, strength会临时加倍,但在和 paper战斗时, strength会临时减半;
2) paper在和 rock战斗时, strength会临时加倍, 但在和scissors战斗时, strength会临时减半;
3) scissors在和 paper 战斗时, strength会临时加倍, 但在和Rock战斗时, strength会临时减半;
代码片段和文件信息
#include
#include
using namespace std;
class Tool
{
public :
int strength;//武力值
char type;//对象类型代表
void setStrentg(int strength)
{
this->strength = strength;
}
};
class Rock :public Tool//基于 Tool类的子类Rock
{
public:
Rock(int temp)
{
type = ‘r‘;
strength = temp;
}
bool fight(Tool a)
{
int temp = this->strength;
if (type == ‘s‘)
{
temp *= 2;
}//遇到剪子,武力值翻倍
if (type == ‘p‘)
{
temp /= 2;
}//遇到布,武力值减半
if (temp >a.strength)
return true;
return false;
}
};
//布和剪子类同理可得
class Paper :public Tool
{
public :
Paper(int temp)
{
type = ‘p‘;
strength = temp;
}
bool fight(Tool a)
{
int temp = this->strength;
- 上一篇:运输问题c语言代码
- 下一篇:opencv简单的暗通道去雾算法
评论
共有 条评论