Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 14 / Farm / Animals / Animal.h
blob: 1b5ea2dc1f47313d09a3ee7529ea01d2d817d90f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once
#include <iostream>
class Animal
{

public:

	enum AnimalType
	{
		Dog = 0,
		Cat = 1,
		Mouse = 2
	};
	virtual void sayHello() const = 0;

	virtual Animal* clone()  const = 0;//създава копие на текущия обект.

	virtual ~Animal() = default; //!!!

	AnimalType getType() const
	{
		return myType;
	}

protected:
	AnimalType myType;
};