Witam mam problem z przekopiowaniem obiektu a dokładnie listy powiązanej oto co udało mi się stworzyć:
class WektorInt { public: WektorInt(); //Konstruktor WektorInt(int ilosc); // Konstruktor z wartoscia poczatkowa ~WektorInt(); //Destruktor WektorInt(const WektorInt& klasa); //konstruktor kopiujacy Wezel* Pobierz(int id); //Pobiera index i zwraca wartosc Wezel* Ustaw(int id, int wart); //Pobiera wartosc i zapisuje ja pod podanym indexem Wezel* Dodaj(); //Dodaje element na koniec Wezel* Wypisz(); //wypisuje liste private: int identyfikator; Wezel* w_wektor; Wezel* w_poczatek; };
plik .cpp - implementacja (Brak całego pliku aby nie zaśmiecać)
Wezel* Stworz(Wezel* w_nastepny, int id) { Wezel* nowy = new Wezel; nowy->index = id; nowy->wartosc = rand()%100; nowy->w_wezel = w_nastepny; return nowy; } WektorInt::WektorInt() { w_wektor = NULL; for(int i=0; i<32; i++) { w_wektor = Stworz(w_wektor, i+1); } identyfikator = w_wektor->index; w_poczatek = w_wektor; } WektorInt::WektorInt(int ilosc) { w_wektor = NULL; if(ilosc <= 100) { for(int i=0; i<ilosc; i++) { w_wektor = Stworz(w_wektor, i+1); } identyfikator = w_wektor->index; } w_poczatek = w_wektor; } WektorInt::WektorInt(const WektorInt& klasa) :w_wektor(NULL) { Wezel* w_itr = klasa.w_wektor; while(w_itr != NULL) { w_wektor = w_itr; w_itr = w_itr->w_wezel; } }