• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmienna statyczna

Object Storage Arubacloud
0 głosów
564 wizyt
pytanie zadane 30 sierpnia 2015 w C i C++ przez Jonki Dyskutant (8,180 p.)
Mam dwie klasy, np. A i B. Klasa A ma zmienną statyczną 'static int counter = 1, a klasa B ma zmienną 'int nr_index'. W klasie A metodą przypisuję zmienną statyczną 'counter' do zwykłej zmiennej 'nr_index'. Przy wyświetleniu tej zmiennej 'nr_index' w tej metodzie prawidłowo wyświetla tą przypisaną wartość, ale gdy chcę już tą zmienną 'nr_index' wyświetlić w metodzie klasy B to wyświetla 0. Nie wiem dlaczego zmienia wartość?

5 odpowiedzi

0 głosów
odpowiedź 30 sierpnia 2015 przez Benek Szeryf (91,010 p.)
Wartość zmiennej statycznej klasy jest podtrzymywana w klasie przez cały czas. Nie jestem pewien czy o to Ci chodzi, ale jakbyś nr_index uczynił również zmienną statyczną, to uzyskasz to, co chcesz.
komentarz 30 sierpnia 2015 przez Jonki Dyskutant (8,180 p.)
Tą statyczną jeśli przypiszę do zwykłej zmiennej innej klasy to w metodzie, w której przypisywałem tą wartość, wartość zmiennej do której przypisałem jest prawidłowo wyświetlana. Natomiast tą zmienną jeśli chcę wyświetlić w metodzie innej klasy zostaje wyzerowana.
0 głosów
odpowiedź 30 sierpnia 2015 przez Szykem2 Nałogowiec (29,510 p.)
Podaj te dwie metody, o których mówisz. Czy nie jest tak, że ustawiasz zmiennąnr_index w jednym obiekcie a odczytujesz w innym?
0 głosów
odpowiedź 30 sierpnia 2015 przez Jonki Dyskutant (8,180 p.)
edycja 30 sierpnia 2015 przez Jonki

Problem mam właśnie z tym kodem. W metodzie system_figth klasy Menu_Game pod zmienną nr_index wyświetla 0 zamiast 1.

http://pastebin.com/gMMNi7qj

http://pastebin.com/aUzE4aex

Sory za burdel w kodzie, ale tak jakoś wyszło.

0 głosów
odpowiedź 30 sierpnia 2015 przez Szykem2 Nałogowiec (29,510 p.)
edycja 30 sierpnia 2015 przez Szykem2
Metoda Heroes::lvl_up tworzysz lokalne menu a nie kożystasz z tego w mainie musisz albo przesłać tamten obiekt przez referencję/adres lub zrobić to menu globalne.
komentarz 30 sierpnia 2015 przez Jonki Dyskutant (8,180 p.)
edycja 30 sierpnia 2015 przez Jonki

Zrobiłem metodę dla sprawdzania lvl dla botów i wysyłam do tej metody adres obiektu. Teraz mam inny problem, przecież 

_const_HP_b = _const_HP_bot[max_i];
_const_strength_b = _const_strength_bot[max_i];
_const_lvl_b = _const_lvl_bot[max_i];

w tym miejscu przypisuję wartości do zmiennych o zasięgu całej klasy, a nie obiektu. A i tak zmienia wartość.

http://pastebin.com/41qMXVaU

http://pastebin.com/uEi4Hw8z

 

0 głosów
odpowiedź 30 sierpnia 2015 przez criss Mędrzec (172,590 p.)
Najlepiej pokaż maina. Bo dlaczego w ogóle miała by być = 1? Kiedy zmienia wartosc? Tego nie widac, pokazales tylko kody metod. Pewnie czegos nie rozumiesz i masz złe oczekiwania.

Podobne pytania

0 głosów
2 odpowiedzi 112 wizyt
pytanie zadane 31 października 2015 w C i C++ przez emSon Stary wyjadacz (10,480 p.)
0 głosów
2 odpowiedzi 2,382 wizyt
pytanie zadane 10 września 2015 w Inne języki przez danielek110795 Użytkownik (820 p.)
0 głosów
1 odpowiedź 193 wizyt

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...