aboutsummaryrefslogtreecommitdiff
path: root/cpp04/ex03/MateriaSource.hpp
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-04-14 18:02:14 +0200
committerCharles <sircharlesaze@gmail.com>2020-04-14 18:02:14 +0200
commitefea8712aaf8169b1184cceb83705ca6b8783173 (patch)
tree3c682f6af9d5877ddfa1740f4bac10f5f5123ddc /cpp04/ex03/MateriaSource.hpp
parent119f7f96e77a2d86d692e82645dde4c2dc054052 (diff)
downloadpiscine_cpp-efea8712aaf8169b1184cceb83705ca6b8783173.tar.gz
piscine_cpp-efea8712aaf8169b1184cceb83705ca6b8783173.tar.bz2
piscine_cpp-efea8712aaf8169b1184cceb83705ca6b8783173.zip
cpp04, ex03 not finished, require more sophisticated main
Diffstat (limited to 'cpp04/ex03/MateriaSource.hpp')
-rw-r--r--cpp04/ex03/MateriaSource.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/cpp04/ex03/MateriaSource.hpp b/cpp04/ex03/MateriaSource.hpp
new file mode 100644
index 0000000..a8b4c0e
--- /dev/null
+++ b/cpp04/ex03/MateriaSource.hpp
@@ -0,0 +1,35 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* MateriaSource.hpp :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/14 17:17:40 by charles #+# #+# */
+/* Updated: 2020/04/14 17:33:50 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#ifndef MATERIASOURCE_HPP
+# define MATERIASOURCE_HPP
+
+# include "IMateriaSource.hpp"
+
+# define LEARNED_MAX_SIZE 4
+class MateriaSource : public IMateriaSource
+{
+public:
+ MateriaSource();
+ MateriaSource(MateriaSource const& other);
+ void operator=(MateriaSource const& other);
+ virtual ~MateriaSource();
+
+ virtual void learnMateria(AMateria* materia);
+ virtual AMateria* createMateria(std::string const& type);
+
+private:
+ AMateria* m_learned[LEARNED_MAX_SIZE];
+ int m_learned_size;
+};
+
+#endif