1// Build don't link:
2// prms-id: 3764
3
4class Menu;
5class MenuItem;
6
7class  MenuAction {
8public:
9  virtual void execute (Menu& menu, MenuItem& menuItem)  = 0;
10protected:
11  MenuAction () {}
12};
13
14class Test {
15  class MenuCBA : public MenuAction {
16  public:
17    typedef void (Test::* MenuCBA_Member) (Menu& menu, MenuItem& menuItem) ;
18    MenuCBA(Test& instance, MenuCBA_Member member)
19      : _instance(&instance), _member(member) { }
20    void execute(Menu& menu, MenuItem& menuItem);
21  private:
22    MenuCBA_Member _member;
23    Test *_instance;
24  };
25};
26