关于数据同步,窗口同步之类
生活随笔
收集整理的這篇文章主要介紹了
关于数据同步,窗口同步之类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近經常遇到關于數據同步或者說窗口同步之類的問題。比如在對話框A中,點擊按鈕之后彈出對話框B。在對話框B做了某個操作之后,對話框A想立即知道或者知道之后做出某些反應。對于類似這樣的問題,一般第一反應應該就是想到用發消息的方式來處理,但是有時候用發消息這種方式會很麻煩,特別是這兩個對話框不在一個項目中,或者他們都只是很底層的一個對話框的時候。這個時候可以用C++中類的繼承,多態來解決這個問題。大致的思路如下:
1.定義一個抽象類作為基類(其實不是抽象類也行);
1 class Base 2 { 3 virtual void event()=0; 4 }這里的事件event就是對話框A要做出的反應
2.定義對話框A
class A:public Base {virtual void event(); }這里讓A繼承Base,并自己寫好關于event的實現,就是具體做出什么反應。
3.定義對話框B
class B {void event1(Base *p); }這里將基類Base的指針作為形參,在實際調用的時候將A的指針傳進來即可。這個傳參的過程可以放到構造函數中,也可以直接放到具體事件中。
void B::event1(Base* p) {p->event(); }這里就類似于反饋給A了,讓A做出反應。
轉載于:https://www.cnblogs.com/gig886/p/5028563.html
總結
以上是生活随笔為你收集整理的关于数据同步,窗口同步之类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS WKWebView ios9以上
- 下一篇: 转: jdbc连接数据库需要注意和出错的