/* * File: mystack.h * ---------------- * * Created by Julie Zelenski on 2/25/08. * */ #ifndef _mystack_h #define _mystack_h #include "genlib.h" #include "vector.h" template class MyStack { public: MyStack(); ~MyStack(); int size(); void push(ElemType e); ElemType pop(); private: Vector elems; }; #include "mystack.cpp" #endif /* * File: mystack.cpp * ------------------ * * Created by Julie Zelenski on 2/25/08. * */ #include "mystack.h" template MyStack::MyStack() { } template MyStack::~MyStack() { } template int MyStack::size() { return elems.size(); } template ElemType MyStack::pop() { if (size() == 0) Error("pop empty stack"); ElemType top = elems[elems.size()-1]; elems.removeAt(elems.size()-1); return top; } template void MyStack::push(ElemType s) { elems.add(s); }