Witam, napisałem klasę button, która ma wektor button_events przechowujący zdarzenia jakie mają się wywołać po spełnieniu odpowiedniego warunku. Dodaje 4 zdarzenia do obiektu klasy button więc powinny być 4 obiekty w wektorze button_events, a jest 1.
Główny plik:
GetButton(0).AddEvent(tutaj wysyłam nowo utworzony obiekt klasy button event);
I tak 4 razy. GetButton to po prostu funkcja zwracająca dany obiekt z wektora przechowującego wszystkie obiekty klasy button.
Kod:
Button GetButton(int index) { return buttons[index]; }
Klasa button:
class Button : Interfejsy nadające mu właściwości { private: //składowe prywatne public: std::vector<ButtonEvent> button_events; void AddEvent(ButtonEvent button_event); };
Metoda Add Event:
void Button::AddEvent(ButtonEvent button_event) { button_events.push_back(button_event); std::cout << "adding item to vector, actual vector size is: "<< button_events.size() << "\n"; }
I właśnie tutaj wypisuje mi 4 razy 1. Nie wiem o co chodzi, pasowałoby to gdyby wektor był deklarowany w metodzie, ale on jest deklarowany w klasie. Proszę o pomoc.