00001 #ifndef OBSERVER_H 00002 #define OBSERVER_H 00003 00004 00005 class Subject; 00006 00024 class Observer { 00025 public: 00028 virtual ~Observer() {} ; 00032 virtual void update(const Subject *const subject) = 0 ; 00033 protected: 00036 Observer() {} 00037 }; 00038 00039 #endif