现在位置: 首页 > 所有2012年发表的文章
2012-11-25 07:41 工业·编程 ⁄ 共 5775字 评论 1 条
一,回调函数     我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?     使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。 而那个函数在需要...
阅读全文
2012-11-25 07:39 工业·编程 ⁄ 共 2530字 暂无评论
变化与不变. 应对变化之道.变化,修改,扩展更方便. 不变的共性才可复用. 越抽象越有共性,易复用,越具体越有差异. 功能越单一越可复用. 越稳定的越可复用. 把复杂的地方分解提炼成类? 易变的地方. 资源:职责,你要完成职责,你拥有相应的权力以及资源,这些完全由你支配. 过程,你不独立拥有支配.资源,要么全局共享,要么作为参数临时借用. 对象具有组织结构. 2,3个人的工作室.大家把资源放在公共的地方,谁用谁去拿,用完了还回去. 或者...
阅读全文
2012-11-25 07:37 工业·编程 ⁄ 共 4855字 暂无评论
这个标题有点大..我能说多少说多少..因为我也是个菜鸟..如果其中有些理解跟您有出入..还望指教..有争议才可以进步:).. 1、新手为什么总抱怨面向对象编程(以下简称OOP)难学?? 2、新手为什么总无法深刻的理解OOP的思想?? 3、能写出一个合格的类就代表你理解了OOP的思想了吗?? 4、什么样才算真正的理解了OOP?? 5、OOP难在什么地方??为什么我总是学不会??     ...
阅读全文
2012-11-25 07:32 工业·编程 ⁄ 共 4043字 暂无评论
(1)Callback方式     Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。 比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件: typedef void (__stdcall *DownloadCallback)(const char* pURL, bool bOK); void DownloadFile(const char* pURL, DownloadCallback callback) {     cou...
阅读全文
2012-11-25 07:30 工业·编程 ⁄ 共 1413字 暂无评论
    其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。     呵呵,其实上面只是说了一个 SDK 大概的概念而已,理解什么是 SDK 真...
阅读全文
2012-11-25 07:19 工业·编程 ⁄ 共 1765字 评论 1 条
1.回调函数与普通函数的区别 从概念上讲,回调函数与普通函数的本质在于:调用者的不同。普通函数由程序员代码调用,而回调函数由操作系统在适当的时间调用。 回调函数主要用于处各种事件和处理。由于WINDOWS系统中存在大量程序员事先不可知的事件,例如鼠标的单击,程序员事先无法得知终端用户何时会发出此动作,因此只能: A。定义事件的处理逻辑,与普通函数的编程一样; B。告之操作系统自己的处理逻辑,即通知操作...
阅读全文
2012-11-25 07:13 工业·编程 ⁄ 共 328字 暂无评论
    一个主线程管理其它线程时,不用轮询方法检查各个线程的状态,而是在子线程中出现某种状态时通知主线程,啊,有人要按下我了,啊,我的值到达100了,(术语叫触发了某种事件)这样主线程收到这些消息再根据消息类型去调用相应的方法.     一 个例子     我(主线程)坐车去北京,当车到北京时我要调用"下车"这个方法,如果不用回调用机制,我要不断地问driver,到了没有啊?如果我...
阅读全文
2012-11-25 07:04 工业·编程 ⁄ 共 1119字 评论 1 条
    其实callback并不仅限于系统调用,用户根据需要,可以建立自己的Callback机制。比如网络通讯,当接收线程(可能专门有一个类封装网络接收行为)收到数据包,需要通知上层(可能又有一个类封装上层数据处理).     那么我认为Callback最本质的特征包括两点:注册和触发。实现可以是各种各样的形式,但机制都是如此。比如对于两个类而言,给出以下示例代码:    #include  ...
阅读全文
    用过C++进行过面向对象程序设计的用户都知道,程序中的对象很少单独存在。不考虑对象间的相互作用几乎是不可能的。所以,标识对象间的关系或建立对象间的消息连接是面向对象程序设计的一项重要任务。本文着重从C++程序设计的角度,提出一种建立对象间消息连接的实用方法。如果你想详细了解面向对象程序设计技术,请参阅有关专著。      大家都知道对象是数据和方法的封装体。在C++中,...
阅读全文
2012-11-25 06:46 工业·编程 ⁄ 共 2294字 暂无评论
     抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层。 C++虚继承、虚基类、虚函数与纯虚函数的概念和引用       ⑴抽象类的定义:       称带有纯虚函数的类为抽象类。       ⑵抽象类的作用:       抽象类的主要作用是将有关的操作作为结果接口...
阅读全文