estoy recibiendo este error, pero pensé que sólo se conseguiría si el nivel de protección del miembro era demasiado alto y lo hizo inaccesible, pero yo estoy poniendo todos modos.de error: La función es inaccesible
Shopable.h:
#ifndef _SHOPABLE_H_
#define _SHOPABLE_H_
#include "Library.h"
class Shopable{
private:
std::string Name;
int Cost;
std::string Description;
public:
std::string getName() const{return Name;}
int getCost() const {return Cost;}
virtual std::string getDesc() const = 0;
};
#endif
Weapon.h:
#ifndef _WEAPON_H_
#define _WEAPON_H_
#include "Globals.h"
#include "Shopable.h"
class Weapon : Shopable{
private:
int Damage;
public:
Weapon(int Cost,int Damage,std::string Name) : Cost(Cost), Damage(Damage), Name(Name){}
std::string getDesc() const{
return getName()+"\t"+tostring(Damage)+"\t"+tostring(Cost);
}
int Damage(Entity *target){
int DamageDealt = 0;
//do damage algorithm things here
Special();
return DamageDealt;
}
};
#endif
Algunos línea en una función aleatoria con la correcta incluye:
std::map< std::string, Weapon* > weapons;
Weapon* none = new Weapon(0,0,"None");
weapons[none->getName()] = none;
El error es con getName () - "Error: la función 'Shopable :: getName' es inaccesible"
No estaba usando un libro de texto, solo recogiendo partes de sitios en Internet. – pighead10