回调实现

#include
typedef void(*Fun)(int); //定义一个函数指针类型
Fun p = NULL; //用Fun定义一个变量p,它指向一个返回值为空参数为int的函数
【回调实现】
void setcallback(Fun pCallback)
{
p = pCallback;
}

void caller(Fun pCallback)
{
p = pCallback;
//达成某一条件后,通过名片(函数指针p),传回结果
int result = 1;
(*p)(result);
}
void test()
{
if (p)
{
int result = 1;
(*p)(result);
}
}
void callback(int a)//回调函数
{
std::cout << "callback result = " << a << std::endl;
}
int main(int argc, char* argv[])
{
setcallback(callback);
test();
//caller(callback);
getchar();
return 0;
}

    推荐阅读