0
我正在制作一个用户界面,两个主类是UIControl
和UIView
。 两者都是抽象类。 UI中的每个视图(例如主菜单等)都具有UIView作为父类。我希望这些派生视图类能够将其自己的成员函数作为控件的回调。这怎么能实现?下面多态类的回调函数成员
伪代码:
class UIControl
{
public:
void (*m_callback_click)(int button_index, int x, int y);
// This class also statically calls callback_click if a control is clicked
}
class UIView
{
// Abstract class
}
class UIMainMenu : public UIView
{
public:
UIControl* m_button1;
void initialize();
void button1_click(int button, int x, int y);
}
void UIMainMenu::initialize()
{
m_button1 = new UIControl();
m_button1->m_callback_click = &button1_click;
}
我建议你阅读['std :: function'](http://en.cppreference.com/w/cpp/utility/functional/function)和['std :: bind'](http:/ /en.cppreference.com/w/cpp/utility/functional/bind)。 –