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;
}    

注:该博文为扩展型;

猜你喜欢

转载自www.cnblogs.com/yinwei-space/p/9145282.html
今日推荐