CPP04 1.0
読み取り中…
検索中…
一致する文字列を見つけられません
ICharacter.hpp
[詳解]
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* ICharacter.hpp :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: kamitsui <kamitsui@student.42tokyo.jp> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2025/05/29 23:44:40 by kamitsui #+# #+# */
9/* Updated: 2025/05/30 21:09:07 by kamitsui ### ########.fr */
10/* */
11/* ************************************************************************** */
12
25#ifndef ICHARACTER_HPP
26#define ICHARACTER_HPP
27
28#include "AMateria.hpp"
29#include <iostream> // For standard input/output operations (e.g., std::cout)
30#include <string> // For std::string to store character names
31
32// Forward declaration of AMateria to resolve circular dependency
33// ICharacter uses AMateria* and AMateria uses ICharacter&
34class AMateria;
35
47 public:
53 virtual ~ICharacter() {}
54
60 virtual std::string const &getName() const = 0;
61
67 virtual void equip(AMateria *m) = 0;
68
75 virtual void unequip(int idx) = 0;
76
83 virtual void use(int idx, ICharacter &target) = 0;
84
85 virtual AMateria *getMateriaAtSlot(int idx) const = 0;
86};
87
88#endif
Declares the AMateria abstract base class.
Represents an abstract base class for all magical materias.
Definition AMateria.hpp:42
An interface for any character that can interact with Materias.
virtual void use(int idx, ICharacter &target)=0
Uses the Materia at a specific inventory slot on a target character. This is a pure virtual function,...
virtual std::string const & getName() const =0
Gets the name of the character. This is a pure virtual function, requiring derived classes to impleme...
virtual ~ICharacter()
Virtual destructor for the ICharacter interface. Ensures proper cleanup of derived class objects when...
virtual AMateria * getMateriaAtSlot(int idx) const =0
virtual void equip(AMateria *m)=0
Equips a Materia to the character's inventory. This is a pure virtual function, requiring derived cla...
virtual void unequip(int idx)=0
Unequips a Materia from a specific inventory slot. This is a pure virtual function,...