jankustosz Temat założony przez niniejszego użytkownika |
» 2015-06-09 18:01:40 Ok. Poprawię zmienne globalne. Ale teraz powracam do głównego problemu. Dlaczego dodałem do vektora 3 obIekty a on jakby je zgubił. |
|
Monika90 |
» 2015-06-09 18:31:49 Dodałeś je do wektora, który jeszcze nie istniał, zadziałało to przypadkiem. Zaraz potem wektor został utworzony, czyli został wykonany jego domyślny konstruktor. Domyślny konstruktor zainicjalizował wektor jako pusty wektor. |
|
pekfos |
» 2015-06-09 19:36:45 Zamiast robić zmienne globalne można zrobić globalny vector wskaźników |
Co to za alternatywa, skoro dalej używasz słowa "globalny"..? Masz tylko jeden zestaw zmiennych globalnych, więc zastosuj singleton. Po pierwsze, masz wtedy jeden obiekt i w ramach niego masz kontrolę nad kolejnością tworzenia jego elementów, a po drugie, masz kontrolę nad momentem utworzenia samego obiektu singletona. |
|
jankustosz Temat założony przez niniejszego użytkownika |
» 2015-06-09 20:16:47 Ale jak mogę zastosować singleton. Przecież zwraca on tylko jeden element.
Dlaczego ten vektor nie istniał? Został utworzony jeszcze przed wszystkimi funkcjami, wywołując konstruktor. |
|
pekfos |
» 2015-06-09 20:43:22 Dlaczego ten vektor nie istniał? Został utworzony jeszcze przed wszystkimi funkcjami, wywołując konstruktor. |
Tak samo, jak twoje obiekty, które go używają. Chodzi o to, że nie jest znana kolejność. Konstruktor twojej klasy odwoływał się do wektora, zanim został wywołany jego konstruktor. |
|
jankustosz Temat założony przez niniejszego użytkownika |
» 2015-06-09 21:11:37 Konstruktor twojej klasy odwoływał się do wektora, zanim został wywołany jego konstruktor. |
Skoro tak to kiedy został wywołany konstruktor wektora? Jak naprawić ten problem? PS Jak robicie ten tekst na żółto, ja wpisłem [div] i mam jaśniejszy odcień? |
|
pekfos |
» 2015-06-09 21:26:10 Skoro tak to kiedy został wywołany konstruktor wektora? |
Później? Jak naprawić ten problem? |
Którekolwiek z podanych rozwiązań..? [cytat] |
|
jankustosz Temat założony przez niniejszego użytkownika |
» 2015-06-09 21:44:33 Wiem że później ale w jakim momencie. Wydawało mi się że konstruktor wywoła się w tej lini. "vector <Element *> elementy" |
|
1 2 « 3 » 4 |