C++ 简单实现委托

 

前段时间在公司实习做了电子显微镜的项目,GUI部分是用C#写的,C#中的委托(delegate)用起来实在是太爽了。委托让模块之间的关联程序大大的降低,可是说几乎能做到不关联。这让有些模块的独立性、通用性和重用能力得到大大的加强。在我的毕业设计所做的程序中,人工智能模块我就是做成了一个可以让别人也能灵活使用的单独的模块。其中有一个重要功能就是接受别人的模块所传入的回调函数,在电脑计算完毕之后,回调这个函数告诉GUI模块电脑所下的是哪一步棋。这个回调函数有两种形式,一种是一般的C语言函数或者类的静态函数,另一种就是对方的函数。前一种设置起来已经的方便,不过往往会带着一个多余的空指针参数,以便使用者可以用这个参数还原自己的类型。这样子看起来真的让人觉得很不舒服,而使用后者的话看起来就自然得多了。可是问题就随之而来了,要用C++实现回调一个未知类型对象函数要怎么实现呢。在C#里就特别的简单,直接用delegate关键字定义一个委托就OK了。那么在C++里要如何实现呢。在这儿我写一下我简单实现这个委托的C++例子代码,当然这个委托很有局限,因为这个参数的个数必须事先就确定了。代码如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值