当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>拜托、信号和消息反馈的模板实现技术</b>[VC/C++编程]

赞助商链接



  本文“<b>拜托、信号和消息反馈的模板实现技术</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

憋了很长一段时间的设法,在这里说说,但愿听听诸位高手的看法.

我写过不少C++程序(当然比起高手还是差远了),写过库也写过客户程序.普通库城市供应一些好用的类供客户程序利用,不少库还可以让客户程序呼应库内的某些事件.比方MFC/ATL/VCL供应消息呼应,很多ActiveX供应自定义消息呼应,乃至是系统底层的中止调用都可以列入这个范围.但是,恰是以上这些“反向”的调用让我认为很懊恼.

1 担当+多态

乍一看是理所当然的挑选,库中的类把呼应处理函数设置为虚函数,客户程序可以担当这个类并且重载呼应函数.以某个Socket类为例,可以供应一个OnRecv函数用来呼应网络数据包到达的处理.客户程序只需求重载OnRecv并举行自己的处理便可以了.

struct Socket { // base class
 virtual void OnRecv();
};
stuct MySocket { // your event-handle class
 virtual void OnRecv() { /* do sth here ... */ }
}

疑问:很多时刻这样做实在很烦,分外是做小程序的时刻,大概需求快速做原型的时刻,一眼望去小小的程序一上来就担当了一大堆东西,颇为不爽.只是想着能费事一点,但愿能像那些脚本语言一样快速绑定消息呼应,而不是以担当开始工作——我已经惊骇看到长长的类担当树了,很多时刻根本不必要担当整个类;又大概某些类只供应一个接口而不是具体的类又大概需求多重担当,处理都有一定麻烦;最麻烦的莫过于有时刻需求改变呼应处理,莫非担当好几个下来么——这么多虚表也是浪费啊.

wangtianxing垂老点评:为了利用Socket就必须担当Socket,这可以说是Socket的计划的问题.假如需求实现近似的功效的话,可以写成以下,固然和担当 Socket 没有多少本质的差别,不过确切把消息处理类和Socket的实现扯开了.:


  以上是“<b>拜托、信号和消息反馈的模板实现技术</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .