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.