Declares the AMateria abstract base class.
Represents an abstract base class for all magical materias.
An interface for any character that can interact with Materias.
Represents an ice-based offensive magic materia.
virtual AMateria * clone() const
Creates a new, identical instance of an Ice materia. This method overrides the clone() pure virtual f...
Ice()
Default constructor for Ice. Initializes the materia type to "ice" and displays a construction messag...
Ice & operator=(const Ice &other)
Copy assignment operator for Ice. Assigns values from another Ice object by calling the base class as...
virtual ~Ice()
Destroys the Ice object. Displays a destruction message.
virtual void use(ICharacter &target)
Uses the Ice materia to shoot an ice bolt at the target character. This method overrides the use() vi...