Modify the C++ class for the abstract stack type shown in Section 11.4.2 to use a linked list representation and test it with the same code that
appears in this chapter.
C++ class for abstract stack type in section 11.4.2 :
#include <iostream.h>
class Stack {
private: //** These members are visible only to other
//** members and friends (see Section 11.6.4)
int *stackPtr;
int maxLen;
int topSub;
public: //** These members are visible to clients
Stack() { //** A constructor
stackPtr = new int [100];
maxLen = 99;
topSub = -1;
}
~Stack() {delete [] stackPtr;}; //** A destructor
void push(int number) {
if (topSub == maxLen)
cerr << “Error in push–stack is fulln”;
else stackPtr[++topSub] = number;
}
void pop() {
if (empty())
cerr << “Error in pop–stack is emptyn”;
else topSub–;
}
int top() {
if (empty())
cerr << “Error in top–stack is emptyn”;
else
return (stackPtr[topSub]);
}
int empty() {return (topSub == -1);}
}