#include #include"Ssak.h" #include"Czlowiek.h" #include"Wiedzmin.h" #include #include #include #include #include double ustawWage() { std::default_random_engine silnik; silnik.seed(std::chrono::system_clock::now().time_since_epoch().count()); std::normal_distribution normalny(0, 200); double weight = normalny(silnik); return weight; } Ssak* stworz_obiekt() { int ktory = rand() % 3; if (ktory == 2) { Ssak* ssaczek = new Ssak(ustawWage()); return dynamic_cast(ssaczek); } else if (ktory == 1) { Czlowiek* czlowieczek = new Czlowiek(ustawWage(),"Randomowe imie",rand()%200); return dynamic_cast(czlowieczek); } else { Wiedzmin* wiedzminek= new Wiedzmin(ustawWage(), "Randomowe imie", rand()%200,rand()%100); return dynamic_cast(wiedzminek); } } int main() { srand(time(NULL)); stworz_obiekt(); Ssak *tablica[10]; for (int i = 0; i < 10; i++) tablica[i] = stworz_obiekt(); for (int i = 0; i < 10; i++) std::cout << "Obiekt nr:" << i << " jest klasy:" << typeid(tablica[i]).name() << "\n"; for (int i = 0; i < 10; i++) delete tablica[i]; for (int i = 0; i < 10; i++) tablica[i]->jedz(); for (int i = 0; i < 10; i++) { if (dynamic_cast(tablica[i])) { //tablica[i]-> } } Ssak* tab[30]; for (int i = 0; i < 30; i++) tab[i] = stworz_obiekt(); int srednia = 0; int ileWiedzminow = 0; for (int i = 0; i < 30; i++) { if (typeid(tab[i]).name() == ) { srednia += tab[i].getDmg(); ileWiedzminow += 1; } } return 0; }