/ CPP_Modules / CPP_Module_04 / ex03 / ICharacter.hpp
ICharacter.hpp
 1  /* ************************************************************************** */
 2  /*                                                                            */
 3  /*                                                        :::      ::::::::   */
 4  /*   ICharacter.hpp                                     :+:      :+:    :+:   */
 5  /*                                                    +:+ +:+         +:+     */
 6  /*   By: gychoi <gychoi@student.42seoul.kr>         +#+  +:+       +#+        */
 7  /*                                                +#+#+#+#+#+   +#+           */
 8  /*   Created: 2023/08/17 22:26:16 by gychoi            #+#    #+#             */
 9  /*   Updated: 2023/08/17 23:33:52 by gychoi           ###   ########.fr       */
10  /*                                                                            */
11  /* ************************************************************************** */
12  
13  #pragma once
14  #ifndef __ICHARACTER_HPP__
15  # define __ICHARACTER_HPP__
16  # include <string>
17  
18  class	AMateria;
19  
20  class	ICharacter
21  {
22  	public:
23  		virtual ~ICharacter() {}
24  		virtual std::string const&	getName() const = 0;
25  		virtual void				equip(AMateria* m) = 0;
26  		virtual void 				unequip(int idx) = 0;
27  		virtual void 				use(int idx, ICharacter& target) = 0;
28  };
29  
30  #endif	/* __ICHARACTER_HPP__ */