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