#ifndef STACK_H #define STACK_H template class Stack { public: Stack(); bool empty() const; T peek() const; void push(T value); T pop(); int getSize() const; private: T elements[100]; int size; }; template Stack::Stack() { size = 0; } template bool Stack::empty() const { return (size == 0); } template T Stack::peek() const { return elements[size - 1]; } template void Stack::push(T value) { elements[size++] = value; } template T Stack::pop() { return elements[--size]; } template int Stack::getSize() const { return size; } #endif