26 lines
554 B
C
26 lines
554 B
C
// { dg-do assemble }
|
|
// prms-id: 3764
|
|
|
|
class Menu;
|
|
class MenuItem;
|
|
|
|
class MenuAction {
|
|
public:
|
|
virtual void execute (Menu& menu, MenuItem& menuItem) = 0;
|
|
protected:
|
|
MenuAction () {}
|
|
};
|
|
|
|
class Test {
|
|
class MenuCBA : public MenuAction {
|
|
public:
|
|
typedef void (Test::* MenuCBA_Member) (Menu& menu, MenuItem& menuItem) ;
|
|
MenuCBA(Test& instance, MenuCBA_Member member)
|
|
: _instance(&instance), _member(member) { }
|
|
void execute(Menu& menu, MenuItem& menuItem);
|
|
private:
|
|
MenuCBA_Member _member;
|
|
Test *_instance;
|
|
};
|
|
};
|