请顶尖高手进来关注一下,为什么这个思路在Delphi下极易实现,在C++中却遇到这么大的困难。
这个帖子,别人提过,但结果并不理想,我在Delphi做过,C++却行不通。
下面代码不能编译通过,不过大体意图应该看得明白,请教:问题出在哪里?如何解决?
#include "stdio.h"
typedef void (*FUN)(void);
class CA
{
public:
FUN Fun;
void aaaa(void);
};
class CB
{
public:
void bbbb(void);
};
class CC
{
public:
void cccc(void);
};
void CA::aaaa(void)
{
if(Fun != 0)
Fun();
}
void CB::bbbb(void)
{
printf("bbbb");
}
void CC::cccc(void)
{
printf("cccc");
}
int main(void)
{
CA Aaa;
CB Bbb;
CC Ccc;
Aaa.Fun = Bbb.bbbb;
Aaa.aaaa();
Aaa.Fun = Ccc.cccc;
Aaa.aaaa();
return 0;
}