Website Summary Files Commits Branches @commit @diff @stats
path: root / Polymorphism / Figures / Farm(cloneFunction) / Animal.hpp
diff options
context:
space:
mode:
1 files changed, 17 insertions, 1 deletions
-rw-r--r--Polymorphism/Figures/Farm(cloneFunction)/Animal.hpp18
diff --git a/Polymorphism/Figures/Farm(cloneFunction)/Animal.hpp b/Polymorphism/Figures/Farm(cloneFunction)/Animal.hpp
index b478595..dc9cedd 100644
--- a/Polymorphism/Figures/Farm(cloneFunction)/Animal.hpp
+++ b/Polymorphism/Figures/Farm(cloneFunction)/Animal.hpp
@@ -1 +1,17 @@
-s
+#include "Animal.hpp"
+
+class Animal
+{
+
+ String name;
+public:
+ Animal(String name)
+ {
+ this->name = name;
+ }
+ virtual void Roar() = 0;
+ virtual Animal* clone() = 0; // Всеки наследник се копира по различен начин.
+ // За това правим тази виртуална функция и всеки наследник да окаже как се копират данните му.
+ virtual ~Animal() {};
+
+}; \ No newline at end of file