#pragma once #include class IGame { public: virtual ~IGame() = default; virtual void run() = 0; }; using IGameFactory = std::shared_ptr (*)();