// File: HStack.cpp // // Implementation of heterogeneous stack // #include "HStack.h" // Default constructor // HStack::HStack() { // everything done by HList constructor } // Copy Constructor // HStack::HStack(const HStack& S) : HList(S) { // everything done by HList copy constructor } // Destructor // HStack::~HStack() { // everything done by HList destructor } // Assignment const HStack& HStack::operator=(const HStack& rhs) { HList::operator=(rhs) ; return *this ; } // Rename HList operations // void HStack::push(HNode *ptr) { push_front(ptr) ; } void HStack::pop() { pop_front() ; } HNode *HStack::top() { return front() ; } ostream& operator<< (ostream& os, const HStack& S) { S.print(os) ; return os ; }