Пожалуйста, разорвите этот код на части, сделайте его сложным и труднодоступным для чтения. Я лучше выучу один раз на собственном горьком опыте, чем выучу одно и то же много раз неправильно.
Базовый класс выглядит следующим образом:
class baseMob{
private:
int _healthMax;
int _healthCurrent;
int _manaMax;
int _manaCurrent;
int _experiencePoints;
public:
//Set max Hp
void setHealthMax(int);
//Get max Hp
int getHealthMax();
//Set Current Hp
void setCurrentHealth(int);
//Get Current Health
int getCurrentHealth();
//Set Max Mana
void setMaxMana(int);
//Get Max Mana
int getMaxMana();
//Set Current Mana
void setCurrentMana(int);
//Get Current Mana
int getCurrentMana();
//getMob Exp on kill
int getExperiencePoints();
//Set mob Exp points
void setExperiencePoints(int);
//leaving out the member functions for space conservation
};
Отдельный моб, которого я пытаюсь создать, - это зеленая слизь, которую я пытаюсь создать с помощью конструктора по умолчанию, который я сделал ...
class greenSlime: private baseMob{
public:
greenSlime(){
setHealthMax(100);
setMaxMana(100);
setCurrentHealth(100);
setCurrentMana(100);
setExperiencePoints(150);
}
};
Мой Основная функция сейчас выглядит так:
greenSlime slime();
for(; slime.getCurrentHealth() >= 0; slime.setCurrentHealth(-1)){
cout << "The current health of the slime is: " << slime.getCurrentHealth() << endl;
if (slime.getCurrentHealth() <= 0 ){
cout << "Player is awarded with: " << slime.getExperiencePoints() << " Experience. ";
}
}
Если кто-то захочет разорвать это и выставить меня болваном, я буду очень признателен за помощь.
Ошибка, которую я сейчас получаю:
Project1.cpp: 107: error: request for member getCurrentHealth 'in
slime', который имеет неклассовый тип `greenSlime () () '
Наряду с другими ошибками того же типа.
Tl; Dr: Реализация класса не работает, опубликовал весь свой исходный код, хотя я, вероятно, мог бы опубликовать около 1/10 из этого, и все еще имел смысл, и хотел бы, чтобы кто-нибудь сказал мне, почему он не работает и как плохо я.