konto usunięte

Temat: Vector w clasach

Witam

To znowu ja, męczę się teraz z vectorami.
Mam urządzenie w nim port,w porcie link (wszystko to w ich parametrach).
Czy jest możliwe coś takiego ?
class urzadzenie{public: vector<port*> vec_port; int id;}
class port(public: vector<link*> vec_port; int id;}
class link {public: int id;}

Na razie mi wyświetla błąd "multiple types in one declalation".
Chcę wskazać że dany port należy do danego urządzenia a dany link do danego portu wraz z ich parametrami. Urządzeń będzie też kilka, więc możliwe żeby je spamiętac to zrobie ogólnie vector<urządzenie*> vec_u.
Jest jakeś rozwiązanie na powyższy problem ?
Daniel Łysiak

Daniel Łysiak Specjalista w
sprawach
audiowizualnych

Temat: Vector w clasach

Tak, w odwrotnej kolejności i po upewnieniu się, że czegoś nie przedefiniujesz w swoim środowisku:

class Clink {
public:
Clink(){};
int id;
};
class Cport{
public:
port(){};
std::vector<Clink*> vec_link;
int id;
};
class Curzadzenie{
public:
Curzadzenie() {};
std::vector<Cport*> vec_port;
int id;
};
Tomasz Kaczanowski

Tomasz Kaczanowski Ot, programista

Temat: Vector w clasach

Daniel Ł.:
Tak, w odwrotnej kolejności i po upewnieniu się, że czegoś nie przedefiniujesz w swoim środowisku:

class Clink {
public:
Clink(){};
int id;
};
class Cport{
public:
port(){};
std::vector<Clink*> vec_link;
int id;
};
class Curzadzenie{
public:
Curzadzenie() {};
std::vector<Cport*> vec_port;
int id;
};

No i chyba zdaloby sie konstruktor kopiujący napisac....
Daniel Łysiak

Daniel Łysiak Specjalista w
sprawach
audiowizualnych

Temat: Vector w clasach

Tomasz Kaczanowski:

No i chyba zdaloby sie konstruktor kopiujący napisac....

Racja :)

konto usunięte

Temat: Vector w clasach

czyli cos jeszcze ?
napisałem z nowymi nazwami i dalej mam multiple

konto usunięte

Temat: Vector w clasach

będę strzelał - średnik po class{} ?

konto usunięte

Temat: Vector w clasach

Krzysztof Kawa:
będę strzelał - średnik po class{} ?

zgadza się :)
teraz musze pokombinować z wkładaniem i wyciąganiem.
Dzięki wielkie.

może komuś się przyda na przyszłość :

CCurzadzenie * urzadzenie= new CCurzadzenie;
CCport * port= new CCport;
CClink * link= new CClink;
urzadzenie->vec_port.push_back(port);
urzadzenie->vec_port[0]->vec_link.push_back(link);
urzadzenie->vec_port[0]->vec_link[0]->id=123;
cout<<urzadzenie->vec_port[0]->vec_link[0]->id;Robert Gałus edytował(a) ten post dnia 25.01.10 o godzinie 14:04

konto usunięte

Temat: Vector w clasach

Hmmm... A po co w ogóle trzymać wskaźniki (i to gołe) w wektorach? Nie lepiej boost::shared_ptr? Odpadnie zastanawianie się, kiedy pisać delete. Można też całe obiekty klasy, o ile nie ma problemów z kopiami, tzn. dwie kopie obiektu klasy port z tym samym stanem równie dobrze opisują ten sam port.
Piotr P.

Piotr P. Software Developer

Temat: Vector w clasach

Robert Gałus:
może komuś się przyda na przyszłość :
urzadzenie->vec_port.push_back(port);

Wybacz, NMSP :)
Zdarzyło Ci się kiedyś czytać kod źródłowy niemiecko angielski?
Albo rosyjsko angielski? ;)
Jakub L.

Jakub L. Programista

Temat: Vector w clasach

Jak port jest jeden, to po co vector.
Jak więcej, to dlaczego vec_port[0]->vec_link a nie iterator.

I ja bym robił bottom-up, czyli najpierw zbudował wszystko, a potem wkładał do kontenerów, inaczej się odkręca jak coś pójdzie nie tak.

konto usunięte

Temat: Vector w clasach

Piotr P.:
Robert Gałus:
może komuś się przyda na przyszłość :
urzadzenie->vec_port.push_back(port);

Wybacz, NMSP :)
Zdarzyło Ci się kiedyś czytać kod źródłowy niemiecko angielski?
Albo rosyjsko angielski? ;)

raczej nie, dlaczego pytasz ?

a czy ja mówiłem że chce po jednym wkładać ??
co daje bottom-up i co masz na mysli zbudowal wszystko ?
Jakub L.

Jakub L. Programista

Temat: Vector w clasach

http://en.wikipedia.org/wiki/Top-down_and_bottom-up_de...

W skrócie - insert ostatni a nie pierwszy.

konto usunięte

Temat: Vector w clasach

dla mnie nie ma znaczenia czy ostatni czy pierwszy, tak czy siak musze przelecieć tablice i znaleśc np. po id linku dla pewności :)
Piotr P.

Piotr P. Software Developer

Temat: Vector w clasach

Robert Gałus:
Piotr P.:
Robert Gałus:
może komuś się przyda na przyszłość :
urzadzenie->vec_port.push_back(port);

Wybacz, NMSP :)
Zdarzyło Ci się kiedyś czytać kod źródłowy niemiecko angielski?
Albo rosyjsko angielski? ;)

raczej nie, dlaczego pytasz ?

urzadzenie->vec_port.push_back(port);

Dla maszyny nie ma znaczenia, ale dla człowieka juz tak:

device->vec_port.push_back(port);

Niejednokrotnie musiałem przejrzeć kod w którym konwencją było nazewnictwo w połowie angielskie a w połowie niemieckie. To boli ;)
a czy ja mówiłem że chce po jednym wkładać ??

A tego to _jusz_ nie wiem :)
co daje bottom-up i co masz na mysli zbudowal wszystko ?

A mam na myśli? ;)

konto usunięte

Temat: Vector w clasach

mojego kodu chyba nie będziesz przeglądał, ważne że ja wiem o co chodzi :P ... no chyba że się podzielę symulatorem :)
rozwiń ostatnią myśl.
Piotr P.

Piotr P. Software Developer

Temat: Vector w clasach

Robert Gałus:
mojego kodu chyba nie będziesz przeglądał, ważne że ja wiem o co chodzi :P

Ja nie, ale wszyscy tutaj tak :)
Wiem, że to upierdliwość ale nazewnictwo polsko angielskie jest złym nawykiem IMO. Nie ważne kto to będzie przeglądał.
... no chyba że się podzielę symulatorem :)
rozwiń ostatnią myśl.

Troszkę się zmieszałem bo pytałeś Jakuba cytując mnie :)
Jakub L.

Jakub L. Programista

Temat: Vector w clasach

Robert Gałus:
mojego kodu chyba nie będziesz przeglądał, ważne że ja wiem o co chodzi :P

Za pół roku też będziesz wiedział o co chodzi? Dośc ambitne założenie.

A twój wpis w profilu dotyczący edukacji daje mocne podstawy aby przypuszczać, że jest to jakaś praca zaliczeniowa. Powodzenia przy tłumaczeniu działania programu prowadzącemu.
L P

L P podskala.net

Temat: Vector w clasach

Piotr P.:
Robert Gałus:
może komuś się przyda na przyszłość :
urzadzenie->vec_port.push_back(port);

Wybacz, NMSP :)
Zdarzyło Ci się kiedyś czytać kod źródłowy niemiecko angielski?
Albo rosyjsko angielski? ;)

Taaa...

objektItem->getPierwszy()->przetworz() etc.

Oczy od tego bolą.

konto usunięte

Temat: Vector w clasach

i dostałem po pupie za złe pisanie, a niby zwykły "jiuser ce" :P
Marcin Olak

Marcin Olak doświadczony
software developer i
team leader

Temat: Vector w clasach

Robert Gałus:
Czy jest możliwe coś takiego ?
class urzadzenie{public: vector<port*> vec_port; int id;}
class port(public: vector<link*> vec_port; int id;}
class link {public: int id;}
>
[...]
>
Chcę wskazać że dany port należy do danego urządzenia a dany link do danego portu wraz z ich parametrami. Urządzeń będzie też kilka, więc możliwe żeby je spamiętac to zrobie ogólnie vector<urządzenie*> vec_u.

Z ciekawości - jakie zapytania będziesz kierował do tej struktury danych?

Następna dyskusja:

(virtual?) vector - pytanie.




Wyślij zaproszenie do