c++ 演示回调原理

#include <iostream>

using namespace std;

/**
	@Author:happy
	@Date:2018-10-24
	@Summary:演示回调的基本原理
*/


// 内部真正实现功能的类的顶级接口
class InnerCallBackInterface
{
	public:
		InnerCallBackInterface()
		{
		}
		virtual ~InnerCallBackInterface()
		{
			delete this;
		}
	public:
		virtual int CallbackMethod(int a, int b) = 0;
};

// 外部使用类
class OuterClass
{
	public:
		OuterClass(InnerCallBackInterface* callBackInterface): callBackInterface(callBackInterface)
		{
			
		}
		~OuterClass()
		{
			delete this;
		}

	public:
		int function(int a, int b)
		{
			return callBackInterface -> CallbackMethod(a, b);
		}

	private:
		InnerCallBackInterface* callBackInterface;
};

// 真正实现功能的类---实现加法功能
class AddClass: public InnerCallBackInterface
{
	public:
		int CallbackMethod(int a, int b)
		{
			return a + b;
		}
};

// 真正实现功能的类---实现乘法
class MultiClass: public InnerCallBackInterface
{
	public:
		int CallbackMethod(int a, int b)
		{
			return a * b;
		}
};

int main()
{
	// 使用加法
	cout << (new OuterClass(new AddClass)) -> function(4, 5) << endl;
	// 使用乘法
	cout << (new OuterClass(new MultiClass)) -> function(4, 5) << endl;

	return 0;
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、本下载文件是《C/C++图像处理编程》一书的演示程序,该书由清华大学<br> 出版社出版。<br><br>二、将 "C与C++图像处理编程\"目录全部拷贝到任意盘的根目录上。<br><br>三、运行 X:\C与C++图像处理编程\DosImage.exe程序,演示图像处理功能。<br><br>四、该程序的源代码在 "C与C++图像处理编程\DosImage"目录下,用VC编译,<br> 工作组文件为 X:\C与C++图像处理编程\DosImage\DosImage\DosImage.dsw。<br> 修改、编辑、编译前,先将各子目录内文件的只读属性去除。<br><br>五、运行环境:Windows 1024x768 真彩色模式,文字用大字体。<br> 编译软件:VC++ 6.0<br> 程序特色:用C语言编写,DOS编程习惯 (过程驱动),并配所需图象文件<br> 及字库文件。<br> 编程练习:只需将编程练习模块Ex1 至 Ex12中任一程序的内容删除,即<br> 可在其中编制自己的程序,不用修改菜单结构。 <br><br>六、其它演示程序:<br> WinImage Windows C 图像处理演示程序<br> VCImage VC++ 图像处理演示程序<br> Demop C++ Builder 图像处理演示程序<br> <br>七、源代码<br> WinImage子目录 WinImage.exe的源代码<br> VCImage子目录 VCImage.exe的源代码<br> CBImage子目录 Demop.exe的源代码<br><br>八、图像采集演示程序<br> OkDemo子目录下为支持北京嘉恒中自图像技术有限公司 OK 系列 PCI 图<br> 像卡的图像采集演示程序,在Windows 98与Windows 2000/XP等操作系统<br> 下都能使用。<br><br>九、演示程序的维护<br> 演示程序上网为程序的更新创造了条件,以后可将改正的错误和新增加<br> 的内容定期或不定期地进行更新了。因此,希望读者能将阅读过程中发<br> 现的错误与存在的问题,以及改进的建议等及时反馈给笔者,本人将在<br> 力所能及的范围内进行修改,使之更加完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值