#ifndef SUBJECT_H #define SUBJECT_H class Observer; #include class Hint { public: virtual ~Hint() {} }; class Subject { public: typedef std::set ObsList; void attach(Observer &obs); protected: void notify(const Hint &) const; private: ObsList myObservers; }; #endif