回调函数简析

//类A
class
A {   public:
    A();   
void func();   private:   B m_b; } //类B typedef void (MyFunc)(); class B { public:
B(MyFunc f);
private:
MyFunc m_f; } //A的构造函数 A::A()
{   m_b
= new B(A::func); //将A的成员函数注入到B中.当B的对象执行m_f()时将回调执行
}
//B的构造函数
B::B(MyFunc f)
{
  m_f = f;
}

 本质:将函数指针作为函数参数传递。(函数指针就是回调函数,实际的任务执行者。)

猜你喜欢

转载自www.cnblogs.com/mathyk/p/9806011.html
今日推荐