请顶尖高手进来关注一下,为什么这个思路在Delphi下极易实现,在C++中却遇到这么大的困难。

wcmwcm wcmwcm 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个帖子,别人提过,但结果并不理想,我在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;
}


...全文
评论 15
收藏 已收藏
分享
返回顶部
wcmwcm
VC/MFC 16,550 成员 421,605 内容