LeakyStackA - @return reference to top element const string& LeakyStackA:top const if(empty throw runtime_error"Nothing in history"

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
#include <cstdlib> #include <iostream> #include <stdexcept> #include "LeakyStack.h" #include "LeakyStackA.h" using namespace std; /** * Constructor with specified max capacity * (parameter is optional, so this also serves as default constructor) * @param the maximum capacity */ LeakyStackA::LeakyStackA(int cap=10): capacity(cap), S(new string[capacity]), tp(- 1) { } /** Returns the number of objects in the stack. * @return number of elements */ int LeakyStackA::size() const { return (tp+1); } /** Determines if the stack is currently empty. * @return true if empty, false otherwise. */ bool LeakyStackA::empty() const { return (tp<0); } /** Returns a const reference to the top object in the stack. * Throws a runtime_error if the stack is empty.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 2
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: * @return reference to top element */ const string& LeakyStackA::top() const { if (empty()) throw runtime_error("Nothing in history."); else return tp; } /** Inserts an object at the top of the stack. If the stack * is already at capacity, the oldest element will be lost. * @param the new element */ void LeakyStackA::push(const string& elem) { if (tp==capacity){ string temp1; string temp2; for (int i=tp; i>0; i--){ temp1=S[i]; temp2=S[i-1]; S[i-1]=temp; if ((i-2)>0) S[i-2]=temp2; } } S[tp]=elem; tp++; } /** Removes the top object from the stack. * Throws a runtime_error if the stack is empty. */ void LeakyStackA::pop() { if (empty()) throw runtime_error("Nothing in history.") else tp--; }...
View Full Document

This note was uploaded on 05/03/2011 for the course CSCI 180 taught by Professor Goldwasser,m during the Fall '08 term at Saint Louis.

Page1 / 2

LeakyStackA - @return reference to top element const string& LeakyStackA:top const if(empty throw runtime_error"Nothing in history"

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online