aboutsummaryrefslogtreecommitdiff
path: root/cpp04/ex00/Sorcerer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp04/ex00/Sorcerer.cpp')
-rw-r--r--cpp04/ex00/Sorcerer.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/cpp04/ex00/Sorcerer.cpp b/cpp04/ex00/Sorcerer.cpp
new file mode 100644
index 0000000..c6910ce
--- /dev/null
+++ b/cpp04/ex00/Sorcerer.cpp
@@ -0,0 +1,63 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* Sorcerer.cpp :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/04/13 20:29:19 by charles #+# #+# */
+/* Updated: 2020/04/13 20:49:48 by charles ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "Sorcerer.hpp"
+
+Sorcerer::Sorcerer(std::string name, std::string title):
+ m_name(name),
+ m_title(title)
+{
+ std::cout << name << ", " << title << ", is born!" << std::endl;
+}
+
+void Sorcerer::operator=(Sorcerer const& other)
+{
+ m_name = other.m_name;
+ m_title = other.m_title;
+}
+
+Sorcerer::Sorcerer(Sorcerer const& other)
+{
+ *this = other;
+}
+
+Sorcerer::~Sorcerer()
+{
+ std::cout << m_name << ", " << m_title
+ << ", is dead. Consequences will never be the same!" << std::endl;
+}
+
+std::string const& Sorcerer::getName() const
+{
+ return m_name;
+}
+
+std::string const& Sorcerer::getTitle() const
+{
+ return m_title;
+}
+
+void Sorcerer::polymorph(Victim const& v) const
+{
+ v.getPolymorphed();
+}
+
+Sorcerer::Sorcerer()
+{
+}
+
+std::ostream& operator<<(std::ostream& out, Sorcerer const& s)
+{
+ out << "I am " << s.getName() << ", " << s.getTitle()
+ << ", and I like ponies!" << std::endl;
+ return out;
+}