回調函數實現類似QT中信號機制(最簡單)


1. 定義回調接口類:

class UIcallBack
{
public:
virtual void onAppActivated() = 0;
virtual void onShowMore() = 0;
};

2. 定義一個類 繼承 回調接口類,並包含你要監聽的類
class AppManager : public UIcallBack
{
public:
AppManager();

UIManager uiManager;
……
uiManager.setCallBack(this);


void AppManager::onAppActivated()
{

}

void AppManager::onShowMore()
{
_D("callback onshowMore\n");
}


3. 要監聽的類實現
class UIManager
{
public:
UIManager();
~UIManager();

void setCallBack(UIcallBack *pcallBack)
{
m_pcallBack = pcallBack;
}

UIcallBack *m_pcallBack;
};


在 UIManager里調用
m_pcallBack->onShowMore();


則在AppManager類里就能響應到onShowMore()這個消息

 

------------

2017-10-02 應一位回復此博客的朋友要求,總結另一篇有關QT信號與槽機制的簡單實現原理,可參考另一篇博客:

http://blog.csdn.net/liukang325/article/details/78151601
---------------------
作者:陽光檸檬_
來源:CSDN
原文:https://blog.csdn.net/liukang325/article/details/45742675
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM