Observerパターンの理解が怪しかったのでサンプル書いてみた。 こ、これであってるのか?! #include <iostream> #include <string> #include <list> class IObserver; class ISubject { public: virtual void Push(IObserver* observer) = 0; virtual void Notify() = 0; }; class IObserver { public: virtual void Update() = 0; }; class Data : public ISubject { std::list<IObserver*> list; int data; public: void Push(IObserver* observer) { list.push_back(o