// Stack.h #ifndef __STACK__H__ #define __STACK__H__ #include // for NULL template class Stack { public: Stack(); ~Stack(); // const member functions int size() const { return size_; } bool top(Item &item) const; // modification member functions bool push(const Item &item); bool pop(Item &item); private: // prevent these methods from being called Stack(const Stack &s); void operator=(const Stack &s); void resize(); Item *s_; int size_; int capacity_; }; #include "Stack.template" #endif // _STACK_H__