回調函數實現類似QT中信號機制


 

1. 定義回調接口類:

 

[cpp]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. class UIcallBack  
  2. {  
  3. public:  
  4.     virtual void onAppActivated() = 0;  
  5.     virtual void onShowMore() = 0;  
  6. };  


2. 定義一個類 繼承 回調接口類,並包含你要監聽的類

 

 

[cpp]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. class AppManager : public UIcallBack  
  2. {  
  3. public:  
  4.     AppManager();  
  5.   
  6.     UIManager uiManager;  
  7. ……  

 

 

[cpp]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. uiManager.setCallBack(this);  



 

[cpp]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. void AppManager::onAppActivated()  
  2. {  
  3.   
  4. }  
  5.   
  6. void AppManager::onShowMore()  
  7. {  
  8.     _D("callback onshowMore\n");  
  9. }  

 

 


3. 要監聽的類實現

 

[cpp]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. class UIManager   
  2. {  
  3. public:  
  4.     UIManager();  
  5.     ~UIManager();  
  6.   
  7.     void setCallBack(UIcallBack *pcallBack)  
  8.     {  
  9.         m_pcallBack = pcallBack;  
  10.     }  
  11.   
  12.     UIcallBack *m_pcallBack;  
  13. };  
 

在 UIManager里調用

[cpp]  view plain  copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. m_pcallBack->onShowMore();  

 

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

 

http://blog.csdn.net/liukang325/article/details/45742675


免責聲明!

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



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