摘要: 对于回调函数的编写始终是写特殊处理功能程序时用到的技巧之一。先介绍一下回调的使用基本方法与原理。 1、在这里设:回调函数为A()(这是最简单的情况,不带参数,但我们应用的实际情况常常很会复杂),使用回调函数的操作函数为B(), 但B函数是需要参数的,这个参数就是指向函数A的地址变量,这个变量一般就是函数指针。使用方法为: int A(char... 阅读全文
posted @ 2007-08-13 14:55 健忘猪 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。 下面用一个最简单的例子来说明。 类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下: lxTest.h文件内容: ... 阅读全文
posted @ 2007-08-13 14:43 健忘猪 阅读(1742) 评论(0) 推荐(0) 编辑
摘要: 面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套类),但我们更愿意看到一个诸如 Interface的东西。下面就介绍一种解决办法。首先我们需要一些宏: //// Interfaces.h//#define Interface class#defin... 阅读全文
posted @ 2007-08-13 14:20 健忘猪 阅读(731) 评论(0) 推荐(0) 编辑
摘要: (public) inheritance 这个表面上简单易懂的观念,一旦被近距离审视,就会被证明是由两个相互独立的部分组成的:inheritance of function interfaces(函数接口的继承)和 inheritance of function implementations(函数实现的继承)。这两种 inheritance 之间的差异正好符合本书 Introduction 中论... 阅读全文
posted @ 2007-08-13 11:05 健忘猪 阅读(848) 评论(0) 推荐(0) 编辑