I have a simple GUI app working, with my own custom subclass of Button embedded in another Component subclass. I want to make the parent Component a button listener, and this requires that I inherit from Button::Listener and override this:
void buttonClicked(Button *button);
But to actually get at the custom fields and methods of my button subclass I have to manually downcast in the implementation, like this:
StepButton *sb = static_cast<StepButton *>(button);
This seems hacky and potentially type unsafe. Is there a better way to handle this?