/ CPP_Modules / CPP_Module_04 / ex03 / MateriaSource.hpp
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__ */