1 2 3 4 5 6 7 8 9 10 11 12 13
#pragma once #include <memory> class IGame { public: virtual ~IGame() = default; virtual void run() = 0; }; using IGameFactory = std::shared_ptr<IGame> (*)();