Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

[C++] tablica obiektów z tablicami wskaźników

Moderatorzy: Jacek Bogusz, Moderatorzy

Awatar użytkownika
Darlington
-
-
Posty: 574
Rejestracja: 12 lis 2007, o 18:18
Lokalizacja: stąd!

[C++] tablica obiektów z tablicami wskaźników

Postautor: Darlington » 18 sie 2011, o 23:56

Witam,
Mam taki problem:

Mam sobie klasę car, w której jest 50-elementowa tablica wskaźników na obiekty innej klasy.

Jak poprawnie utworzyć w programie tablicę obiektów typu car, aby te wskaźniki (te stablicowane w obiektach klasy car w tablicy) się nie sypały? Bo zauważyłem, że czasami są zupełnie bzdurne i psują mi cały program.

Aktualnie ratuję się takim działającym rozwiązaniem:

Kod: Zaznacz cały

const int NR_OF_CARS = 10; car c1,c2,c3,c4,c5,c6,c7,c8,c9,c10; car cars[NR_OF_CARS] = {c1,c2,c3,c4,c5,c6,c7,c8,c9,c10};
Które niestety nie jest idealne bo co jak przyjdzie mi zwiększyć rozmiar tablicy do 1000 elementów?

Próbowałem już zabaw z new'em ale na próżno.

Awatar użytkownika
Łukasz Krysiewicz
-
-
Posty: 143
Rejestracja: 8 cze 2011, o 20:03

Re: [C++] tablica obiektów z tablicami wskaźników

Postautor: Łukasz Krysiewicz » 19 sie 2011, o 17:15

tablicę wskaźników na obiekty typu struktura tworzysz tak:

Kod: Zaznacz cały

typedef struct tcar { int a; int b; }car; car c1; car c2; car * cars[2]= {&c1, &c2};
dostęp do obiektów z tablicy jest następujący:

Kod: Zaznacz cały

cars[0]->a = 1; cars[0]->b = 2; cars[1]->a = 3; cars[1]->b = 4;
żeby dynamicznie zmieniać rozmiar struktury musisz użyć new,

wojjow
-
-
Posty: 29
Rejestracja: 10 lip 2011, o 18:35

Re: [C++] tablica obiektów z tablicami wskaźników

Postautor: wojjow » 12 wrz 2011, o 03:01

Próbowałem już zabaw z new'em ale na próżno.
Pokaż, jak próbowałeś z newem, bo ogólnie rzecz biorąc to powinno działać. Skoro z newem nie działa (choć nie wiem w jaki sposób go używasz), to pewnie problem leży w zajmowaniu lub zwalnianiu jakiejś pamięci.
Jeśli dynamicznie będziesz rezerwował miejsce dla tablicy (listy) obiektów (struktur/klas) car, które to znowu zawierają jakieś wskaźniki, to może trzeba stworzyć jakieś konstruktory i destruktory klas, które będą odpowiednio rezerwowały i zwalniały pamięć.

Awatar użytkownika
Darlington
-
-
Posty: 574
Rejestracja: 12 lis 2007, o 18:18
Lokalizacja: stąd!

Re: [C++] tablica obiektów z tablicami wskaźników

Postautor: Darlington » 12 wrz 2011, o 10:57

Problem już rozwiązany, dzięki za zainteresowanie.

Wróć do „PLD/FPGA i inne zagadnienia techniki cyfrowej”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości