# Упражнение 10

## Задача 1. Стек

Стекът е структура от данни, която представлява колекция от елементи с две
основни операции: push, която добавя елемент в края на колекцията
(краят на колекцията ще наричаме връх на стека), и pop, която премахва последно
добавения елемент (тоест премахва елемента на върха на стека).

Да се имплементира структурата от данни стек от елементи от произволен тип.
Да бъде реализирано свързано представяне на стека.

За целта да се напише шаблон на клас `Stack`, който да има следните член-данни:

- `Т* top` - указател към върха на стека
- `int size` - брой елементи в стека

Напишете конструктор по подразбиране за класа `Stack`, който
инициализара празен стек.

Реализирайте следните публични методи на класа `Stack`:

- `int getSize() const;` - връща броя елементи в стека
- `bool isEmpty() const;` - проверява дали стека е празен
- `const T& top() const;` - връща елемента на върха на стека
- `void push(const T& element);` - добавяне на елемент в стека
- `void pop();` - премахване на елемент от стека

Да се напише "голяма четворка" за класа `Stack`.

Add stack implementation problem description
Add stack implementation problem description
