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

时间:2021-12-06 22:14:53

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

注:该博文为扩展型;