Stack class using a structure. : Struct Class « Class « C++






Stack class using a structure.

Stack class using a structure.
 

#include <iostream>
using namespace std;

#define SIZE 10

struct stack { 
  stack();            
  void push(char ch); 
  char pop();         
private:
  char stackData[SIZE]; 
  int topOfStack;       
};

stack::stack()
{
  cout << "Constructing a stack\n";
  topOfStack = 0;
}

void stack::push(char ch)
{
  if(topOfStack==SIZE) {
    cout << "Stack is full\n";
    return;
  }
  stackData[topOfStack] = ch;
  topOfStack++;
}

char stack::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.Constructor and destructor inside a structConstructor and destructor inside a struct
2.Using a structure to define a class.Using a structure to define a class.
3.Classes and Structures are Related
4.Using a class instead of struct.
5.add method to struct
6.use struct to initialize a class