78 lines
1.4 KiB
C++
78 lines
1.4 KiB
C++
|
// Step 1: Create the stack class.
|
|||
|
|
|||
|
// Step 2: Declare the constructor and destructor in the class
|
|||
|
|
|||
|
// Step 3: Stack constructor definition.
|
|||
|
|
|||
|
// Step 4: Stack destructor definition.
|
|||
|
|
|||
|
// Step 5: Create the objects for the class stack. Objects automatically call the constructor for object initialization.
|
|||
|
|
|||
|
// Step 6: Before program termination destructors are automatically called by compiler. It destroys the objects in memory.
|
|||
|
|
|||
|
|
|||
|
#include<iostream.h>
|
|||
|
#define SIZE 100
|
|||
|
class stack
|
|||
|
{
|
|||
|
int stck[SIZE];
|
|||
|
int tos;
|
|||
|
public:
|
|||
|
stack(); //constructor
|
|||
|
~stack(); //destructor
|
|||
|
void push(int i);
|
|||
|
int pop();
|
|||
|
};
|
|||
|
|
|||
|
//stack’s constructor function
|
|||
|
stack :: stack()
|
|||
|
{
|
|||
|
tos=0;
|
|||
|
cout<<”Stack Initialized\n”;
|
|||
|
}
|
|||
|
|
|||
|
//stacks destructor function
|
|||
|
stack :: ~stack()
|
|||
|
{
|
|||
|
cout<<”\Stack Destroyed”;
|
|||
|
}
|
|||
|
|
|||
|
void stack :: push(int i)
|
|||
|
{
|
|||
|
if(tos==SIZE)
|
|||
|
{
|
|||
|
cout<<”Stack is full.\n”;
|
|||
|
return;
|
|||
|
}
|
|||
|
stck[tos] = i;
|
|||
|
tos++;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
int stack :: pop ()
|
|||
|
{
|
|||
|
if(tos==0)
|
|||
|
{
|
|||
|
cout<<”Stack underflow.\n”;
|
|||
|
return;
|
|||
|
}
|
|||
|
tos--;
|
|||
|
return stck[tos];
|
|||
|
}
|
|||
|
|
|||
|
int main()
|
|||
|
{
|
|||
|
stack a,b;
|
|||
|
a. push(1);
|
|||
|
b. push(2);
|
|||
|
a. push(3);
|
|||
|
b. push(4);
|
|||
|
cout<<a.pop()<< “ “;
|
|||
|
cout<<a.pop()<< “ “;
|
|||
|
cout<<b.pop()<< ” “;
|
|||
|
cout<<b.pop()<<”\n”;
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
|