C++: 带参数回调函数和不带参数的回调函数;

在C++中,回调函数的应用比较广泛且重要。 通过传递函数指针到其他地方,能够实现远程回调的作用,能够实现远程调用而不需要事件触发信号或者其他机制来实现,方便而快捷;

首先,回调函数有两种形式:  静态成员函数、 单独的函数; 有不带参数的也有带参数的;

1、类间回调;   

void      test()
{
   ..... 
}

typedef  void      (*Callbacker)();

class  fun1()
{
public:
       fun1()
       {
         m_fun2.setCallbackFunc(callbackerFunc);
       }
       static    void   callbackerFunc()
      {
                  ....
       }
     
    fun2     m_fun2;
       
}                


class fun2()
{
public:
     void  setCallbackFunc(Callbacker  backer)
     {
           m_backer = backer;
     }

     void    doCall()
    {
        (*m_backer)(); 
     }
     
    Callbacker      m_backer;
}    

注:该博文为扩展型;

posted @ 2018-06-06 15:20  时光旅者  阅读(1156)  评论(0编辑  收藏  举报