#pragma once #include namespace games { class Game { private: std::string name; public: Game(std::string name); virtual ~Game() = default; // where the main magic will happen virtual void attach(); virtual const char *title(); // optional virtual void pre_attach(); virtual void post_attach(); virtual void detach(); }; }