Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Jak uzyskać dostęp z klasy do składników innej klasy ??

Ostatnio zmodyfikowano 2013-07-02 21:36
Autor Wiadomość
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 .
C/C++
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; //MAŁY TEST
};

Czytałem troche o dziedziczeniu lecz moje próby wiążą się z błędami kompilacji , licze na waszą pomoc i doświadczenie :)
P-86760
akwes
» 2013-07-01 21:17:33
Możesz napisać metodę, która będzie zwracała tą zmienną.
P-86762
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ć ??
P-86764
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.

C/C++
std::cout << wytrzymalosc; //MAŁY TEST

ale możesz mieć

C/C++
void funkcja() {
    std::cout << wytrzymalosc;
}

A potem wywoływać:

C/C++
przeciwnik przec;
przec.funkcja();

A pewnie najlepiej by było
C/C++
int JakaWytrzymalosc() {
    return wytrzymalosc;
    // kiedy moze bedzie
    // return wytrzymalosc * premia;
}
// ...
// ...
przeciwnik przec;
std::cout << przec.JakaWytrzymalosc();
P-86767
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
P-86769
kubawal
» 2013-07-01 22:15:31
Istnieje. W
public
 deklaruje się metody i składowe klasy. Nie można tam dać kodu.
P-86770
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.
P-86771
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 :)
P-86809
« 1 » 2
  Strona 1 z 2 Następna strona