#pragma once #include #include class IEnemy { public: virtual ~IEnemy() noexcept = default; virtual int get_health() const noexcept = 0; virtual void do_damage(int damage) noexcept = 0; }; using IEnemyFactory = yacppdic::Factory()>;