#include using namespace std; template class stack { private: vector items; int size; public: void push(T); T pop(); int getSize(); T top(); }; template void stack::push(T item) { items.push_back(item); size++; } template T stack::pop() { if (size == 0) { throw "No items to pop"; } else { T temp = items[size - 1]; items.pop_back(); size--; return temp; } } template int stack::getSize() { return size; } template T stack::top() { return items[size - 1]; }