Hej, Mam problem z wywołanie metody void wyswietl() w środku metody void level(), program zachowuję się tak jakby jej nie widział, użycie jakiejkolwiek innej metody w void level() też nie działa, jeżeli ktoś wie czemu to chętnie się wczytam. Klasa wojownik jest klasą abstrakcyją od klasy Postac, wstawiam też konstruktor jeżeli może to pomóc
wojownik::wojownik(string imie,int lvl,int hp,int energia, int sila, int bron, int obrazenia,int exp):Postac()
{
this->imie = imie;
this->lvl=lvl;
this->hp = hp;
this->energia = energia;
this->sila = sila;
this->bron = bron;
this->obrazenia = obrazenia;
this->exp = exp;
}
void wojownik::wyswietl()
{
cout << "Parametry twojej postaci" << endl;
cout << "imie : " << imie << endl << "lvl : " << lvl << endl;
cout << "punkt zycia : "<< hp << endl<<"punkt energi :" << energia << endl <<
"sila : " <<sila << endl <<"atak od broni : " <<bron << endl<< "obrazenia w walce: " << obrazenia << endl;
cout << " Nastepny level za : " << exp - 100 << " punktow doswiadczenia " << endl;
}
void wojownik::level()
{
if (exp >= 100)
{
int punktyr = 5;
cout << "wlasnie awansowales na " << ++lvl << "level! " << endl;
cout << " Teraz mozesz podniesc swoje statystki : " << endl;
for (int i = 0; i<= 4; i++)
{
int wyborparametru;
cout << " masz do dyspozycji :" << punktyr << " punktow do rozdania " << endl;
cout << "jaki parametr chcesz podniesc? : 1-hp, 2-energia, 3-sila, " << endl;
cin >> wyborparametru;
switch (wyborparametru)
{
case 1:
++hp;
break;
case 2:
++energia;
break;
case 3:
++sila;
break;
}
--punktyr;
exp = 100 - exp;
}
void wyswitel();
}
else
cout << "coraz blizej nowego poziomu!" << endl;
}
Plik main
wojownik woj1;
wojownik *wsk1;
wsk1 = &woj1;
wsk1->wyswietl();
wsk1->getexp();
wsk1->level();