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

[C++][Qt4] Zebranie wskaźników na obiekty w tablice lub cos podobnego

Ostatnio zmodyfikowano 2011-02-17 23:22
Autor Wiadomość
hardtmuth
Temat założony przez niniejszego użytkownika
[C++][Qt4] Zebranie wskaźników na obiekty w tablice lub cos podobnego
» 2011-02-17 18:17:33
Hej,

Mam utworzone zalozmy 20 obiektów klasy Foo, obiekty te sie nazywaja kolejno
foo0, foo2, foo3, foo.. , foo19.

Chcialbym teraz uproscic poruszanie sie po nich w programie, czyli korzystac np. w taki sposob:

foo_tab[0]->jakas_metoda_klasy_Foo  <- obiektu foo0

lub

foo_tab[15]->jakas_metoda_klasy_Foo  <- obiektu foo15

Zalezy mi po prostu na poruszaniu sie, latwym poruszaniu sie po utworzonych obiektach, potrzebuje obiektu np 20, wybieram obiekt numer 20, a nie musze kombinowac switchem... wstyd sie przyznac ;].

Czy jest taka mozliwosc, a jesli nie tedy droga, to jak latwo i przyjemnie (bez wytezania szarych komorek) to zrealizowac? Przyznam, ze z C++ jest slaby, wiec prosze bardziej lopatologicznie, bo chcialbym to rowniez zrozumiec. Jesli to cos zmienia to programuje w Qt4, ale to raczej podstawy C++, wiec chyba to nie ma znaczenia.
P-28330
pekfos
» 2011-02-17 18:28:27
tablica?

C/C++
klasa obiekty[ 20 ];
obiekty[ 8 ].do_sth();

zamiast wskaźników prościej chyba obiekty wrzucić do tablicy.
weź się do nauki C++
P-28331
inny1997
» 2011-02-17 18:37:43
pomyliłem się usunąć
P-28332
ison
» 2011-02-17 19:03:25
chyba że chodzi Ci o tego typu rozwiązanie:
C/C++
Foo foo1, foo2;

Foo * foo_tab[ 20 ];
foo_tab[ 0 ] =& foo1;
foo_tab[ 1 ] =& foo2;
...

foo_tab[ 0 ]->f();
P-28333
hardtmuth
Temat założony przez niniejszego użytkownika
» 2011-02-17 21:58:22
Obiekty mam juz wykorzystywane w wielu miejscach w programie i odnosze sie do nich poprzez wskazniki, mam utworzone ~20 wskaznikow do pokazywani na typ klasy

klasa *foo1 = NULL;
.. itd

i zainicjowane przez

foo0 = new klasa(0);
foo1 = new klasa(0);
itd.

Nie chcialbym teraz nic zmieniac w tym co juz mam, bo zmiany beda mnie kosztowac duzo przerobek, a chce poza tym stworzyc wlasnie tablice, czy tablie wskaznikow, w ktorej beda kolejno te wskazniki i bede mogl sie do nich odnosic w latwy sposob poprzez indeksy.

Co najlepsze?

EDIT:
Teraz patrze na rozwiazanie ision i chyba z niego skorzystam, niedlugo sprobuje, bo przeciez ono w ogole mi nie przeszkada w aktualnej czesci kodu.

Niestety cos zle robie, nie pojdzie tak latwo. Rozwiazanie ision`a nie dam rady tutaj zastosowac, a robiac wskaznik na wskaznik i tego tablice cos pierdziele i nie wychodzi;/.
P-28340
ison
» 2011-02-17 22:59:53
Teraz patrze na rozwiazanie ision [...]
synek, widzisz ty tam jakieś 'i' po 's'?
Rozwiazanie ision`a [...]
http://filolozka.brood.pl/kiedy-apostrof/


w przypadku wskaźników na foo wystarczy że będziesz podstawiał je do tablicy bez brania referencji
C/C++
Foo * foo1;

Foo * foo_tab[ 20 ];
foo_tab[ 0 ] = foo1;

foo_tab[ 0 ]->f();
P-28345
hardtmuth
Temat założony przez niniejszego użytkownika
» 2011-02-17 23:22:07
Przepraszam za literowke (niestety, ale na tym forum po kliknieciu "tworzenie nowej wiadomosci" nie mam wgladu w tresc forum i zle nicka zapamietalem) i zle wykorzystanie apostrofa. Mysle tylko, ze odzywki w stylu "synek" sa troche nie na miejscu.

Wstepnie sobie poradzilem z problemem przerabiajac po kolei caly kod tak, by wszystko trzymac od poczatku w tablicy wskaznikow. Cos dziala, ale dzisiaj juz nie mam sil po 12 h przed monitorem. Czas spac, bo jutro do roboty nie wstane.
P-28346
« 1 »
  Strona 1 z 1