/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* AMateria.hpp :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/12/06 16:29:29 by adjoly #+# #+# */ /* Updated: 2024/12/12 19:27:30 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #pragma once #include class ICharacter; class AMateria { protected: std::string _type; public: AMateria(void); virtual ~AMateria(void); AMateria(const AMateria &); AMateria(std::string const &); AMateria &operator=(const AMateria &); std::string const &getType(void) const; virtual AMateria *clone(void) const = 0; virtual void use(ICharacter &) = 0; };