Here is my header file with the class definitions
Code:
#ifndef CHARACTER_H
#define CHARACTER_H
class Player
{
private:
int m_Attack;
int m_Strength;
int m_Armour;
string m_Name;
public:
void SetName();
void SetAttack(int attack);
void SetStrength(int strength);
void SetArmour(int armour);
int GetAttack();
int GetStrength();
int GetArmour();
string GetName();
};
#endif
Here's the header file with the classes implementations
Code:
#include <iostream>
#include "character.h"
void Player::SetAttack(int attack)
{
m_Attack = attack;
}
void Player::SetStrength(int strength)
{
m_Strength = strength;
}
void Player::SetArmour(int armour)
{
m_Armour = armour;
}
void Player::SetName()
{
string temp;
cout << "What is the name of your character? ";
getline(cin, temp);
m_Name = temp;
}
int Player::GetAttack()
{
return m_Attack;
}
int Player::GetStrength()
{
return m_Strength;
}
int Player::GetArmour()
{
return m_Armour;
}
string Player::GetName()
{
return m_Name;
}
and here's the main() file
Code:
#include <iostream>
#include "character.h"
using namespace std;
int main()
{
int temp;
Player Bob;
Bob.SetName();
cout << "\nWhat attack rating is your character? ";
cin >> temp;
Bob.SetAttack(temp);
cout << "\nWhat strength rating is your character? ";
cin >> temp;
Bob.SetStrength(temp);
cout << "\nWhat armour rating is your character? ";
cin >> temp;
Bob.SetArmour(temp);
cout << "\n" << Bob.GetName() << " has an attack rating of " << Bob.GetAttack() << ", a strength rating of " << Bob.GetStrength() << ", and an armour rating of " << Bob.GetArmour() << ".";
cin.ignore(4);
return 0;
}
I get two errors for the class definitions file saying 'string does not name a type', have i created the class wrong or what? im baffled.
P.S. sorry for the long post