Website Summary Files Commits Branches @commit @diff @stats
path: root / Polymorphism / Farm(cloneFunction)
diff options
context:
space:
mode:
1 files changed, 16 insertions, 0 deletions
-rw-r--r--Polymorphism/Farm(cloneFunction)/Cow.hpp16
diff --git a/Polymorphism/Farm(cloneFunction)/Cow.hpp b/Polymorphism/Farm(cloneFunction)/Cow.hpp
new file mode 100644
index 0000000..929c2b2
--- /dev/null
+++ b/Polymorphism/Farm(cloneFunction)/Cow.hpp
@@ -0,0 +1,16 @@
+#include "Animal.hpp"
+class Cow : public Animal
+{
+public:
+ Cow(String name) :Animal(name)
+ {}
+ Animal* clone()
+ {
+ Animal* copy = new Cow(*this);
+ return copy;
+ }
+ void Roar()
+ {
+ std::cout << "muu mmuu" << std::endl;
+ }
+};