class Event { public: virtual std::string getEventType() { return typeid(*this).name(); } } class NotWorkEvent { public: virtual std::string