Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to make objects inherited from the base class access a character method but have its own result?
    primarykey
    data
    text
    <p>I want to be able to use my object of hero class to call the public function getAttack() from characters and generate a specific value just for that object. How can i do this? I tried using the setAttack, and it works, but when i call getAttack nothing is shown.</p> <pre><code>//main int main() { Characters h;//Created using normal constructor h.setAttack(3); h.getAttack();//i want this to lets say be 3 Hero Me; Me.setAttack(5); Me.getAttack();//and this like 5 or something Hero::Hero(1,2,3,4);//Created using overloaded constructor Monsters m; Monsters::Monsters(5,6,7,8); cin.sync(); cin.get(); return 0; } //Hero.h class Hero: public Characters { public: Hero(); Hero(int, int, int, int); ~Hero(void); } //Hero.cpp int Herolevel; int HeroHp; int HeroStrength; int HeroAttack; int HeroDefense; Hero::Hero() { cout &lt;&lt; "HOLA! Hero Created using normal constructor\n"; } Hero::Hero(int newHp, int newLevel, int newAttack, int newDef) { cout &lt;&lt; "Hero created using Overloaded function!\n"; HeroHp = newHp; cout &lt;&lt; "Hp is: "&lt;&lt; HeroHp &lt;&lt; endl; Herolevel = newLevel; cout &lt;&lt; "level is: " &lt;&lt; Herolevel &lt;&lt; endl; HeroAttack = newAttack; cout &lt;&lt; "Attack is: " &lt;&lt; HeroAttack &lt;&lt; endl; HeroDefense = newDef; cout &lt;&lt; "Defense is: " &lt;&lt; HeroDefense &lt;&lt; endl; } Hero::~Hero(void) { cout &lt;&lt; "Hero destroyed!\n"; } //Monsters.h class Monsters: public Characters //Hero { public: Monsters(void); Monsters(int, int, int, int); Monsters(int); ~Monsters(void); }; //Monsters.cpp int Monsterlevel; int MonsterHp; int MonsterStrength; int MonsterAttack; int MonsterDefense; Monsters::Monsters(void) { cout &lt;&lt;"Monster Created"; } Monsters::Monsters(int newHp, int newLevel, int newAttack, int newDef) { cout &lt;&lt; "Monster created using Overloaded function!\n"; MonsterHp = newHp; cout &lt;&lt; "Hp is: "&lt;&lt; MonsterHp &lt;&lt; endl; Monsterlevel = newLevel; cout &lt;&lt; "level is: " &lt;&lt; Monsterlevel &lt;&lt; endl; MonsterAttack = newAttack; cout &lt;&lt; "Attack is: " &lt;&lt; MonsterAttack &lt;&lt; endl; MonsterDefense = newDef; cout &lt;&lt; "Defense is: " &lt;&lt; MonsterDefense &lt;&lt; endl; } Monsters::~Monsters(void) { cout &lt;&lt; "\nMonster Destroyed"; } //Characters.h class Characters { private: int level; int Hp; int Strength; int Attack; int Defense; public: Characters(void); Characters(int, int, int, int); ~Characters(void); int getAttack(); int getDefense(); int getStrength(); int getHp(); int getLevel(); void setAttack(int); void setDefense(int); void setStrength(int); void setHp(int); void setLevel(int); }; Characters::Characters(void) { cout &lt;&lt; "\nCharacter has been created!\n"; } Characters::~Characters(void) { cout &lt;&lt; "Character has been destroyed!\n"; } void Characters::setHp(int damage)//get Character left over hp { Hp -= damage; } void Characters::setAttack(int att) { Attack = att; cout &lt;&lt; "your attack is: " &lt;&lt; Attack; } int Characters::getAttack() { return Attack; } int Characters::getDefense() { return Defense; } int Characters::getStrength() { return Strength; } int Characters::getHp() { return Hp; } int Characters::getLevel() { return level; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload