Website Summary Files Commits Branches @commit @diff @stats
path: root / Polymorphism / Farm(cloneFunction) / Animal.hpp
blob: 0f290caafbf6b85601632ff684fbe8a927f84df0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Animal
{

	string name;
public:
	Animal(string name)
	{
		this->name = name;
	}
	virtual void Roar() = 0;
	virtual Animal* clone() = 0; // Всеки наследник се копира по различен начин.
				     // За това правим тази виртуална функция и всеки наследник да окаже как се копират данните му.
	virtual ~Animal() {};

};