Skomplikowane dziedziczenie
Ostatnio zmodyfikowano 2011-05-02 12:32
Savail Temat założony przez niniejszego użytkownika |
Skomplikowane dziedziczenie » 2011-05-02 10:59:04 Hej No wiec mam pewien dosc obszerny blok kodu w pliku naglowkowym i zrodlowym. W pliku zrodlowym uzywane i modyfikowane sa zmienne wlasnie z pliku naglowkowego o tej samej nazwie co plik zrodlowy, a chcialbym aby w zaleznosci od pewnych warunkow aby ten moj blok kodu bral zmienne z innych plikow naglowkowych i modyfikowal wlasnie te zmienne pobrane z innych plikow naglowkowych. Czyli zeby uzywal tak jakby zmiennych z wlasnego pliku naglowkowego ale zeby te zmienne byly pobrane z innego pliku naglowkowego i modyfikowaly tez tamtejsze zmienne a nie te z wlasnego pliku naglowkowego :P Jest cos takiego mozliwe? |
|
pekfos |
» 2011-05-02 11:06:35 chcesz aby kod w .cpp modyfikował zmienne z różnych plików .h w zależności od jakichś warunków? jeżeli zmienne mają te same nazwy i nie są w różnych przestrzeniach nazw to wywali multiple definition. |
|
szyx_yankez |
» 2011-05-02 11:07:59 Może przedstaw to jakoś schematycznie(prosty kod), bo jakoś nie wiem o co chodzi Ci dokładnie... |
|
Savail Temat założony przez niniejszego użytkownika |
» 2011-05-02 11:10:17 tzn, te zmienne mialyby takie same nazwy ale bylyby w innych klasach. I wlasnie chcem zrobic to co napisales ale z uwzglednieniem ze aby 1 zmienna np z klasy Play modyfikowala zmienne z roznych plikow naglowkowych(z roznych klas przy okazji) w zaleznosci od jakischtam warunkow |
|
pekfos |
» 2011-05-02 11:11:43 to include wszystkich nagłówków i modyfikuj? pokaż co już napisałeś |
|
Savail Temat założony przez niniejszego użytkownika |
» 2011-05-02 11:14:57 O cos takiego mi chodzi: else if( !run_pressed && RunState == true && jump_animation == false && block_animation == false && !RunKick_animation ) { horizontally = true; obrot = true; obrot_jump = true; run = true; left = true; right = false; run_pressed = true; } I te wszystkie zmienne naleza do klasy Play i modyfikuja zmienne w pliku naglowkowym klasy. Chcialbym aby te zmienne przyjmowaly dane z innych plikow naglowkowych i modyfikowaly te zmienne z ktorych braly dane, chociaz pochodza z innych plikow naglowkoywch i klas :P i zeby zapis pozostawal taki jak powyzej bez koniecznosci dodawania np: postac1::obrot = true lub postac2::obrot = false;... Ciezko to wytlumaczyc ;p |
|
pekfos |
» 2011-05-02 11:16:49 [cpp][/cpp]
to jak zamierzasz wyperswadować kompilatorowi co z czego chcesz brać? nie można brać danych z nagłówków bo musiałbyś tam deklarować zmienne które w końcu zaczęły by wywoływać błędy. ten zapis: COS::cos oznacza że bierzesz statyczne składowe którym nie można nadać wartości w plikach .h bez wywoływania błędów przy wielu plikach. nic z twojej wypowiedzi się nie klei jak byś nie miał o tym pojęcia.
daj cały kod jaki masz skoro nie wiesz jak co się nazywa. |
|
Savail Temat założony przez niniejszego użytkownika |
» 2011-05-02 11:37:25 no dobra pare bledow moze popelnilem ale to z pospiechu :P. Chodzilo mi o zapis np: Postac1::Obj().obrot = true; Czyli tworzenie obiektu metoda Singleton... Ok mam plik zrodlowy Play.cpp i Play.h: Play.h: class Play { public: void Start(); void get_elements(); float pos_x1, pos_z1; bool elements_init; }; Play.cpp: void Play::get_elements() { if( warunek, okreslajacy skad pos_x1 ma brac dane ) pos_x1 = odpowiednia_klasa::Obj().pos_x1; } void Play::Start() { if( !elements_init ) { get_elemets(); elements_init = true; } if( strzalka w prawo ) pos_x1++; } Mam nadzieje ze teraz wszystko jasne ;p. Tak sie zastanawiam czy zwykle wskazniki by wystarczyly? |
|
« 1 » 2 |