我有一个关于受保护变量的问题。也许我没有真正理解他们,但不是使用它们的原因,孩子们可以使用它们吗?总的来说,我想减少生命点。无法访问指针的受保护的int变量父类
这里是我的代码: 头文件
class Fighter {
protected:
int offensePoints;
int defensePoints;
int lifepoints;
std::string name;
public:
Fighter(const std::string n);
virtual ~Fighter();
virtual void attackFighter(Fighter * f);
int randomval(int min, int max);
bool isalive();
void isattacked(Fighter * at, int dmg);
};
class Warrior : public Fighter
{
public:
Warrior(const std::string n);
virtual ~Warrior();
void attackFighter(Fighter * f);
int randomval(int min, int max);
bool isalive();
void isattacked(Fighter * at, int dmg);
};
一流的战斗机:
void Fighter::attackFighter(Fighter * f)
{
if (isalive())
{
f->lifepoints -= randomval(0, offensePoints);
}
}
级战士
void Warrior::attackFighter(Fighter * f)
{
if (isalive())
{
f->lifepoints -= randomval(0, offensePoints);
}
}
你的错误是什么? –
在成员Fighter :: lifepoints不能访问“通过”“战斗机” - 指针(为我的英语sry) –
它绝对是一个重复,甚至有一个解决方法可用链接复制http://stackoverflow.com/ a/1414851/817643 – StoryTeller