| |
Declare a stack class for characters. |
|
|
#include <iostream>
using namespace std;
#define SIZE 10
class stack {
char stackData[SIZE]; // holds the stack
int topOfStack; // index of top-of-stack
public:
stack() { topOfStack = 0; }
void push(char ch)
{
if(topOfStack==SIZE) {
cout << "Stack is full\n";
return;
}
stackData[topOfStack] = ch;
topOfStack++;
}
char pop()
{
if(topOfStack==0) {
cout << "Stack is empty\n";
return 0; // return null on empty stack
}
topOfStack--;
return stackData[topOfStack];
}
};
int main()
{
stack stackObject1, stackObject2;
int i;
stackObject1.push('a');
stackObject2.push('x');
stackObject1.push('b');
stackObject2.push('y');
stackObject1.push('c');
stackObject2.push('z');
for(i = 0; i <3; i++)
cout << "Pop stackObject1: " << stackObject1.pop() << endl;
for(i = 0; i <3; i++)
cout << "Pop stackObject2: " << stackObject2.pop() << endl;
return 0;
}
|
|
|
Related examples in the same category |
1. | Wrap char pointer to a String class | | | 2. | Read string and output its length | | | 3. | Overload string reversal function. | | | 4. | Enters a character and outputs its octal, decimal, and hexadecimal code. | | | 5. | cin and cout work with char array | | | 6. | Declares str just before it is needed | | | 7. | Using C strings: cin,=.sync, getline | | | 8. | Convert a number to a char then convert to upper case and lower case | | | 9. | Using functions islower, isupper, tolower, toupper | | | 10. | Using functions isdigit, isalpha, isalnum, and isxdigit | | | 11. | Using functions isspace, iscntrl, ispunct, isprint, isgraph | | |
|