AMateria.hpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* AMateria.hpp :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2025/12/18 19:23:39 by bchanot #+# #+# */
  9. /* Updated: 2025/12/26 00:02:09 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #ifndef AMATERIA_HPP
  13. # define AMATERIA_HPP
  14. # include <iostream>
  15. # include <string>
  16. #include "ICharacter.hpp"
  17. class AMateria
  18. {
  19. public:
  20. AMateria();
  21. AMateria(std::string const & type);
  22. AMateria( AMateria const & src );
  23. ~AMateria();
  24. std::string const & getType() const;
  25. virtual AMateria* clone() const = 0;
  26. virtual void use(ICharacter& target);
  27. protected:
  28. std::string _type;
  29. };
  30. #endif /* ******************************************************** AMATERIA_H */