在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; }
注:该博文为扩展型;