#pragma once template class Stack { public: virtual ~Stack() = default; virtual bool empty() const = 0; virtual int size() const = 0; virtual T& top() = 0; virtual void pop() = 0; virtual void push(const T& theElement) = 0; virtual void show() const = 0; };