// Author: Your name here // // Specification of a Stack ADT #ifndef STACK_HH #define STACK_HH template< typename T > class Stack { public: // Canonical form: the 4 functions that all classes with dynamic // memory should have: Stack( void ); // (1) Default constructor Stack( const Stack& other ); // (2) Copy constructor const Stack& operator=( const Stack& other ); // (3) Assign op ~Stack( void ); // (4) Destructor // Standard stack functionality bool IsEmpty( void ); void Push( const T& data ); T Pop( void ); private: // Insert your code here }; #endif // STACK_HH