#pragma once #include "interfaces/hero.hpp" #include "interfaces/weapon.hpp" #include #include class Hero : public IHero, public yacppdic::AutoWirable { public: explicit Hero(std::shared_ptr weapon) noexcept; void fight(IEnemy &enemy) noexcept override; private: std::shared_ptr _weapon; };