观察者模式
来源:互联网 发布:长得像女生知乎 编辑:程序博客网 时间:2024/06/05 08:56
#include <list>#include <iostream>#include <sstream>using namespace std;class Blog;class Observer;class BlogObserver;class Observer{protected:Blog * blog;public:Observer(Blog * b):blog(b){}virtual void update(){}};class Blog{private:string m_name;string m_content;list<Observer *> observer_list;public:Blog(string name, string content):m_name(name),m_content(content){}Blog(){}string toString(){ostringstream oss;oss << m_name << " " << m_content << endl;return oss.str();}void pubBlog(string name, string content){m_name = name;m_content = content;notify();}void setOnUpdateListener(Observer * ob){observer_list.push_back(ob);}void notify(){for(list<Observer*>::iterator iter = observer_list.begin();iter != observer_list.end(); iter++){(*iter)->update();}}};class BlogObserver : public Observer{public:BlogObserver(Blog * b):Observer(b){}virtual void update(){cout << "blog changed!" << endl;cout << blog->toString() ;}};int main(){Blog * blg = new Blog();Observer * obs = new BlogObserver(blg);blg->setOnUpdateListener(obs);blg->pubBlog("Tianbei", "Hello,world");}
0 0
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 观察者模式
- 将数组的奇数移到前面偶数到后面&&输出链表的倒数第k个结点
- 使用JUnit测试预期异常
- ie8开发人员工具
- Android 在activity中显示非view组件eg:GLSurfaceView
- [LeetCode]Merge Two Sorted Lists
- 观察者模式
- tibco.ems.illegalstateexception illegal use of receive() from multiple threads
- Oracle BIEE
- int main(int argc,char* argv[])详解
- 有关String对象的一个面试题
- 最小生成树之普里姆算法
- Struts1与Struts2原理
- 支持向量机通俗导论(理解SVM的三层境界)
- POJ3133