Click to See Complete Forum and Search --> : What's wrong with my constructor/class?


immanuelx2
June 19th, 2008, 06:45 PM
class Mob
{
public:
Mob(int hp = 50, string name = 'Boar'); //if nothing is set, default to 50

int getHP() const;
string getName() const;
int dmg();
private:
int m_HP;
string m_Name;
};

Mob::Mob(int hp, string name):
m_HP(hp),
m_Name(name)
{
cout << "--" << getName() " created with " << getHP() << " HP" << endl << endl;
}
inline int Mob::getHP() const
{
return m_HP;
}
inline string Mob::getName() const
{
return m_Name;
}
inline int Mob::dmg()
{
m_HP = m_HP - 14;
if (m_HP <= 0) { cout << "you killed it!" << endl; }
else getHP();
}

any ideas?

error is on the line cout << "--" << getName() " created with " << getHP() << " HP" << endl << endl;

thanks in advance!

VladimirF
June 19th, 2008, 07:12 PM
any ideas?

error is on the line cout << "--" << getName() " created with " << getHP() << " HP" << endl << endl;What error? :)
Did you forget "<<" operator between "getName()" and " created with "?

immanuelx2
June 19th, 2008, 08:30 PM
thanks, that was it.

now i get a new error on this line: (in main)

Mob mob1;

says "invalid conversion from `int' to `const char*' "

immanuelx2
June 19th, 2008, 10:05 PM
fixed! I needed to use double quotes (") where i set the default string.