//Stack.h #include #ifndef STACK_H #define STACK_H template class Stack { // Interface public: int nitems() { return _s.size() ; } bool empty() { return (_s.size() == 0) ; } void push(T c) { _s.push_back(c); } T pop() { if (empty()) { std::cout << "Stack::pop() Error: stack is empty" << std::endl ; return 0 ; } T tmp = _s.back(); _s.pop_back(); return tmp; } void inspect() { for ( auto iter = _s.begin(); iter != _s.end() ; iter++ ) { std::cout << *iter << std::endl; } } // Implementation private: std::deque _s ; }; #endif