Реализирайте шаблонен клас, представящ абстрактния тип данни опашка. Може да си представяте, че при нея елементите са наредени в редичка и вмъкването на нов елемент винаги става накрая, след всички текущи, а изтриването на елемент винаги премахва първия в редицата. Пример:
  Queue<*int> q     ->  *празна опашка*  
  q.enqueue(5)     ->  5  
  q.enqueue(10)    ->  5, 10  
  q.enqueue(2)     ->  5, 10, 2  
  q.dequeue()      ->  10, 2

За класа да се реализират методите:
  - конструктор по подразбиране и деструктор
  - void enqueue(T const&) - добавя нов елемент в опашка от тип T
  - void dequeue() - премахва елемент от опашка
  - int size() const - връща броя на текущите елементи в опашката
  - bool empty() const - връща дали опашката е празна
  - Т& front() - връща референция към първия елемент на опашката
Реализирайте шаблонен клас, представящ абстрактния тип данни опашка. Може да си представяте, че при нея елементите са наредени в редичка и вмъкването на нов елемент винаги става накрая, след всички текущи, а изтриването на елемент винаги премахва първия в редицата. Пример:  
  Queue<*int> q     ->  *празна опашка*  
  q.enqueue(5)     ->  5  
  q.enqueue(10)    ->  5, 10  
  q.enqueue(2)     ->  5, 10, 2  
  q.dequeue()      ->  10, 2

За класа да се реализират методите:
  - конструктор по подразбиране и деструктор
  - void enqueue(T const&) - добавя нов елемент в опашка от тип T
  - void dequeue() - премахва елемент от опашка
  - int size() const - връща броя на текущите елементи в опашката
  - bool empty() const - връща дали опашката е празна
  - Т& front() - връща референция към първия елемент на опашката
Fix layout of homework assignment
Fix layout of homework assignment
