回調,本質就是一個函數指針的調用過程,把函數指針A傳遞給另一個函數B,在另一個函數B處理完成後,再去調用函數A,這個過程稱爲回調,函數A稱爲回調函數。
本來想做一個簡單回調,模塊a的函數傳遞到b模塊,再回調a的成員函數,後來發現b模塊也要回調a,內容基本一樣,就想到了用多態來做動態調用。
class BaseCall
{
public:
virtual void getMsg() = 0;
};
class Entrance;
typedef void(Entrance::*PFUNC)();
class Framework
{
public:
void receiveMsg(Entrance* p,PFUNC p1)
{
(p->*p1)();
}
};
class Entrance:BaseCall
{
public:
Framework work;
void getMsg()
{
}
void Run()
{
work.receiveMsg(this,&BaseCall::getMsg);
}
};
int main()
{
Entrance e;
e.Run();
}
回調函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.