MateriaSource.hpp
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* MateriaSource.hpp :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: gychoi <gychoi@student.42seoul.kr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2023/08/17 23:17:29 by gychoi #+# #+# */ 9 /* Updated: 2023/08/18 01:09:01 by gychoi ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #pragma once 14 #ifndef __MATERIASOURCE_HPP__ 15 # define __MATERIASOURCE_HPP__ 16 # include "AMateria.hpp" 17 # include "IMateriaSource.hpp" 18 19 class MateriaSource : public IMateriaSource 20 { 21 private: 22 AMateria* list[4]; 23 24 public: 25 MateriaSource(void); 26 virtual ~MateriaSource(void); 27 MateriaSource(MateriaSource const& target); 28 MateriaSource& operator=(MateriaSource const& target); 29 30 virtual void learnMateria(AMateria*); 31 virtual AMateria* createMateria(std::string const& type); 32 void showMateria(void); 33 }; 34 35 #endif /* __MATERIASOURCE_HPP__ */