Jak uzyskać dostęp z klasy do składników innej klasy ??
Ostatnio zmodyfikowano 2013-07-02 21:36
domin568 Temat założony przez niniejszego użytkownika |
Jak uzyskać dostęp z klasy do składników innej klasy ?? » 2013-07-01 21:15:19 Witam , tworzę własną grę RPG , sworzyłem bohatera , oraz wszystkie systemy mu potrzebne , lecz bohater nie ma na czym levelować , nie ma narazie żadnych przeciwników . Stworzyłem klase postać i tam mam już wszystko zrobione , lecz jak w klasie przeciwnik skorzystać ze składników klasy postac , czyli ze w klasie przeciwnik będą obliczane walki . Mogę zrobić to jeszcze inaczej ale chodzi o to żeby w jednej klasie można było mieć dostęp do drugiej i żeby to ze sobą w współgrało . class postac { protected: int wytrzymalosc; int punkty_zycia; int sila; int zrecznosc; int punkty_statusu; int szansa_na_kryta; double szybkosc_ataku; int srednie_obrazenia; int obrazenia; int MIN_OBR; int MAX_OBR; double przelicznik_zr_do_szybkosci; };
class przeciwnik : public postac { public: std::cout << wytrzymalosc; };
Czytałem troche o dziedziczeniu lecz moje próby wiążą się z błędami kompilacji , licze na waszą pomoc i doświadczenie :) |
|
akwes |
» 2013-07-01 21:17:33 Możesz napisać metodę, która będzie zwracała tą zmienną. |
|
domin568 Temat założony przez niniejszego użytkownika |
» 2013-07-01 21:40:17 No ale na jakiej zasadzie miało by to działać ?? |
|
akwes |
» 2013-07-01 21:47:26 Masz mylący temat. Nie ma problemu z uzyskaniem dostępu ale Ty masz z rozumieniem klasy i jej składników ponieważ nie możesz mieć czegoś takiego w klasie. std::cout << wytrzymalosc;
ale możesz mieć void funkcja() { std::cout << wytrzymalosc; }
A potem wywoływać: przeciwnik przec; przec.funkcja();
A pewnie najlepiej by było int JakaWytrzymalosc() { return wytrzymalosc; }
przeciwnik przec; std::cout << przec.JakaWytrzymalosc();
|
|
domin568 Temat założony przez niniejszego użytkownika |
» 2013-07-01 22:12:59 To dlaczego w metodzie nagle ta zmienna jest dostępna ?? a bez niej niejako nie istnieje |
|
kubawal |
» 2013-07-01 22:15:31 Istnieje. W public deklaruje się metody i składowe klasy. Nie można tam dać kodu. |
|
akwes |
» 2013-07-01 22:17:27 Poczytaj o klasach, bo ich zupełnie nie rozumiesz. Klasa to zbiór metod i pól (funkcji i zmiennych) a nie losowych instrukcji wpisanych w losowych miejscach. Twój błąd nie mówi o tym, że nie ma dostępu do zmiennej, tylko że zapis w klasie jest niepoprawny. |
|
domin568 Temat założony przez niniejszego użytkownika |
» 2013-07-02 15:38:32 No rzeczywiście mam do niej dostęp , lecz po co jak jest ona pusta ?? . Kiedy stworze sobie funkcje zwracającą np siłe , to jest ona równa -1 . Czy istnieje możliwość bez żadnych problemów korzystanie z nich z poziomu innej klasy ? Bardzo dziękuję za pomoc :) |
|
« 1 » 2 |