#include <iostream>
using namespace std;
class Mec{
int m_sila;
public:
Mec(int sila ){
m_sila=sila;
}
int getSila(){
return m_sila;
}
};
class Brneni{
int m_obrana;
public:
Brneni(int silaBrneni){
m_obrana=silaBrneni;
}
int getObrana(){
return m_obrana;
}
};
class Hrdina{
Mec* m_mec;
int m_sila;
int m_obrana;
Brneni*m_brneni;
public:
Hrdina (int sila, int obrana, int silaBrneni){
m_sila=sila;
m_obrana=obrana;
m_mec=0;
m_brneni=new Brneni(silaBrneni);
}
void seberMec(Mec*mec){
m_sila=m_sila+mec->getSila();
}
void odhodMec(Mec*mec){
m_sila=m_sila-mec->getSila();
}
int getBrneni(){
return m_brneni->getObrana();
}
void printInfo(){
cout<<"Sila Hrdina: "<<m_sila<<endl;
cout<<"Obrana Hrdiny: "<<m_obrana<<endl<<endl;
cout<<"Sila Brneni: "<<m_brneni<<endl;
}
~Hrdina(){
delete m_brneni;
}
};
int main()
{
Mec*zlaty = new Mec(100);
Hrdina*Tomas = new Hrdina(1500,500, 856465);
Tomas->seberMec(zlaty);
Tomas->printInfo();
Tomas->odhodMec(zlaty);
Tomas->printInfo();
return 0;
}
Dobrý den,
má problém s vytvořením kompozice. Vytvořil jsem třídu brnění, kterou bych chtěl mít se třídou hrdina spojen kompozicí, ale s nějakého pro mě nevysvětlitelného důvodu to nefunguje a místo toho, aby mi to vypisovalo sílu brnění, tak se mi tam vypisuje nějaký nesmysl (0x980d90).
Děkuji všem za radu.