回调函数实现类似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