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