diff options
1 files changed, 17 insertions, 1 deletions
| -rw-r--r-- | Polymorphism/Figures/Farm(cloneFunction)/Animal.hpp | 18 |
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 |
