- 论坛徽章:
- 0
|
class TApp1;
typedef void (TApp1::*MEMBERFUNCTION)();
class TApp1
{
MEMBERFUNCTION Test;
void Fun1()
{
...
}
void Fun2()
{
...
}
void CallFun()
{
//调用test所指向的函数指针,如果Test指向Fun1,调用Fun1函数,如果test指向Fun2,调用Fun2函数
//其它地方都调试通过,此处不知怎么写代码,希望各位指点????????谢谢!!!!
(this->;*Test)();//这样就实现了,我本人非常zjqyb
}
}
main()
{
class TApp2 : public TApp1
{
void InsertFun(MEMBERFUNCTION memberfunction)
{
test=memberfunction;
}
}
//将TApp2::Fun1函数指针赋给Test,如果
//将TApp2::Fun2函数指针赋给Test,CallFun就调用CallFun
InsertFun((MEMBERFUNCTION)TApp2::Fun1);
//用Fun2调用InsertFun所登记的函数;
CallFun();
}
我正在编写一个菜单程序,先将每一个菜单所对应要执行的函数登记,然后选择菜单时执行该函数,望各位提点建议! |
|