#ifndef STACK_STATIC #define STACK_STATIC #define STACK_SIZE 1024 template class Stack { T vals[STACK_SIZE]; unsigned topPos = 0; public: void push(const T& v); void pop(); T& top(); }; template void Stack::push(const T& v) { vals[topPos++] = v; } template void Stack::pop() { topPos--; } template T& Stack::top() { return vals[topPos - 1]; } #endif