Dobrý den,
mám problém potřebuji uložit hodnotu z pole a nevím jak na to zkusil jsme to takto ale program padá.Jedná se o metodu pouzijPredmet. Potřebuji aby ze všech předmětů, které budou v poli předměty se mohl vybrat max jeden mec, stit a helmu do coMaNaSobe.
enum TypPredmetu {
Mec=0,
Stit=1,
Helma=2
};
class Predmety {
int m_bonusObrana;
string m_nazev;
int m_typ;
public:
Predmety (int obrana, string nazev, int typ){
m_bonusObrana=obrana;
m_nazev=nazev;
m_typ=typ;
}
int getBonusObrana(){
return m_bonusObrana;
}
string getNazev(){
return m_nazev;
}
class Hrdina{
private:
array <Predmety*,10> m_predmety;
int m_penize;
int m_obrana;
Predmety** m_comaNaSobe;
public:
Hrdina(int penize, int obrana){
m_penize = penize;
m_obrana = obrana;
for(int i = 0; i<(int)m_predmety.size(); i++){
m_predmety.at(i)=0;
}
}
int getPenize(){
return m_penize;
}
int getObrana(){
return m_obrana;
}
int i=0;
void seberPredmet(Predmety*stit){
m_predmety.at(i)=stit;
i=i+1;
}
void pouzijPredmet(int ktery){
m_comaNaSobe[TypPredmetu::Stit] = m_predmety.at(ktery);
m_obrana=m_obrana+m_comaNaSobe[TypPredmetu::Stit]->getBonusObrana();
}
void printInfo(){
cout<<"Pocet zlataku: "<<m_penize<<endl;
}
~ Hrdina (){