#pragma once #include #include #include struct Interactive { Interactive() : _quit( false ) {} void run(); void catEvent(); void cowEvent(); void dogEvent(); void help(); void quit(); private: bool _quit; static const std::map< std::string, void( Interactive::* )( void ) > _commands; };