//类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;
}
本质:将函数指针作为函数参数传递。(函数指针就是回调函数,实际的任务执行者。)