#ifndef STACKAR1_H_ #define STACKAR1_H_ #include "vector.h" #include "Except.h" #include "StartConv.h" // Stack class -- array implementation. // // CONSTRUCTION: with no parameters. // // ******************PUBLIC OPERATIONS********************* // void push( x ) --> Insert x // void pop( ) --> Remove most recently inserted item // Object top( ) --> Return most recently inserted item // Object topAndPop( ) --> Return and remove most recently inserted item // bool isEmpty( ) --> Return true if empty; else false // void makeEmpty( ) --> Remove all items // ******************ERRORS******************************** // UnderflowException thrown as needed. template class Stack { public: Stack( ); bool isEmpty( ) const; const Object & top( ) const; void makeEmpty( ); void pop( ); void push( const Object & x ); Object topAndPop( ); private: vector theArray; int topOfStack; }; #include "EndConv.h" #include "StackAr1.cpp" #endif