Witam, mam pewną klasę SimulationManager, która posiada tablicę wskaźników:
const CustomerType * customerType[3];
oraz mam pewną klasę CustomerFactory, która posiada wskaźnik na tablicę wskaźników:
const CustomerType ** customerType;
Klasa SimulationManagerPosiada obiekt klasy CustomerFactory, do którego na liście inicjalizacyjnej konstruktora podczas jego tworzenia przekazywana jest tablica wskaźników, aby w kontstruktorze CustomerFactory przypisać do niej wskaźnik.
To tyle wstępu. Teraz meritum. Klasa CustomerFactory ma pewną metodę wyświetlającą pewne dane:
for(int i = 0; i < 3; i++)
std::cout << (*(customerType + i))->getVisitsCount() << std::endl;
Jeśli używam tej metody w konstruktorze klasy SimulationManager to otrzymuję prawidłowe wyniki, natomiast jeśli w jakiejś metodzie klasy SimulationManager to pierwsza wartość jest prawidłowa, druga to zawsze 1, a trzecia to już kompletne losowe głupoty. Dodatkowo, jeśli w pętli zamiast i wstawię np. 0 czyli 3 razy wyświetlam tą samą wartość, to jest ona prawidłowa tylko za pierwszym razem, a potem 2 razy głupoty.
Nie mam pojęcia co może być nie tak, może macie jakieś wskazówki?
Pozdrawiam