设为首页 加入收藏

TOP

C++中回调函数CallBack的使用方法
2014-11-01 09:45:07 来源: 作者: 【 】 浏览:57
Tags:函数 CallBack 使用方法

  回调函数是一个很有用,也很重要的概念。当发生某种事件时,系统或其他函数将会自动调用你定义的一段函数。回调函数在windows编程使用的场合很多,比如Hook回调函数:MouseProc,GetMsgProc以及EnumWindows,DrawState的回调函数等等,还有很多系统级的回调过程。 一般情况下, 我们使用的回调函数基本都是采用C语言风格. 这里介绍一种C++风格的回调对象方法. 采用template实现.


  template < class Class, typename ReturnType, typename Parameter >


  class SingularCallBack


  {


  public:


  typedef ReturnType (Class::*Method)(Parameter);


  SingularCallBack(Class* _class_instance, Method _method)


  {


  //取得对象实例地址,及调用方法地址


  class_instance = _class_instance;


  method = _method;


  };


  ReturnType operator()(Parameter parameter)


  {


  // 调用对象方法


  return (class_instance->*method)(parameter);


  };


  ReturnType execute(Parameter parameter)


  {


  // 调用对象方法


  return operator()(parameter);


  };


  private:


  Class* class_instance;


  Method method;


  };


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇c++语言中const关键字的详细使用.. 下一篇复杂表达式的执行步骤

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: