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