I have a question about protected variables. Maybe i didn't really understand them but isnt the reason to use them, that child classes can use them? Overall i want to decrease the lifepoints.
Here is my code: Header file
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);
};
Class Fighter:
void Fighter::attackFighter(Fighter * f)
{
if (isalive())
{
f->lifepoints -= randomval(0, offensePoints);
}
}
Class Warrior
void Warrior::attackFighter(Fighter * f)
{
if (isalive())
{
f->lifepoints -= randomval(0, offensePoints);
}
}