Hey Leute, habe ein Problem, ich habe folgendende 2 Klassen:
classHeld.h
classInventar.h
Und zwar bekomme ich in der Header-Datei vom Inventar die Meldung held has not been declared.
Hoffe ihr könnt mir helfen;-)
classHeld.h
Code:
#ifndef CLASSHELD_H_INCLUDED
#define CLASSHELD_H_INCLUDED
#include <string>
#include "classInventar.h"
#include "classItems.h"
#include <boost/smart_ptr/shared_ptr.hpp>
#include <fstream>
typedef boost::shared_ptr<Item> bPtr;
class Held
{
public:
Held( std::string name );
Held( std::string name, int schnelligkeit, int staerke, int zauberfaehigkeit, int gesundheit, int ruestung, int level, int spielfortschritt, int exp, int typ );
~Held();
std::string getName() const { return itsName; }
void setName( std::string name );
int getSchnelligkeit() const { return itsSchnelligkeit; }
void setSchnelligkeit( int schnelligkeit );
int getStaerke() const { return itsStaerke; }
void setStaerke( int staerke );
int getZauberfaehigkeit() const { return itsZauberfaehigkeit; }
void setZauberfaehigkeit( int zauberfaehigkeit );
int getGesundheit() const { return itsGesundheit; }
void setGesundheit( int gesundheit );
int getRuestung() const { return itsRuestung; }
void setRuestung( int ruestung);
int getLevel() const { return itsLevel;}
void setLevel( int level );
int getSpielfortschritt() const { return itsSpielfortschritt; }
void setSpielfortschritt( int spielfortschritt );
int getEXP() const { return itsEXP; }
void setEXP( int exp );
int getTyp() const { return itsTyp; }
void setTyp( int typ );
void showAttributes() const;
void checkLevel();
void showInventar();
void addItem( bPtr Item );
void checkItemLoeschen();
bool checkItemWaffe( int&, int&, std::string& );
bool checkItemRuestung( int&, int&, std::string& );
bool checkItemWaffeZauber( int&, int&, std::string& );
void writeInventar( std::ofstream );
void loadInventar( std::ifstream, Held*, bPtr& );
private:
std::string itsName;
int itsSchnelligkeit;
int itsStaerke;
int itsZauberfaehigkeit;
int itsGesundheit;
int itsRuestung;
int itsLevel;
int itsSpielfortschritt;
int itsEXP;
int itsTyp;
Inventar itsInventar;
};
#endif // CLASSHELD_H_INCLUDED
classInventar.h
Code:
#ifndef CLASSINVENTAR_H_INCLUDED
#define CLASSINVENTAR_H_INCLUDED
#include "classItems.h"
#include "classHeld.h"
#include <vector>
#include <boost/smart_ptr/shared_ptr.hpp>
#include <fstream>
typedef boost::shared_ptr<Item> bPtr;
class Inventar
{
public:
void itemHinzufuegen( bPtr theItem );
void itemLoeschen();
void showAll();
bool itemCheckWaffe( int&, int&, std::string& );
bool itemCheckRuestung( int&, int&, std::string& );
bool itemCheckZauberWaffe( int&, int&, std::string& );
friend void Held::writeInventar( std::ofstream );
friend void Held::loadInventar( std::ifstream, Held* );
private:
std::vector< bPtr > items;
std::vector< bPtr >::iterator theIt;
};
#endif // CLASSINVENTAR_H_INCLUDED
Und zwar bekomme ich in der Header-Datei vom Inventar die Meldung held has not been declared.
Hoffe ihr könnt mir helfen;-)