Stack Implementation using Constructor and Destructor
Let us see the Stack Implementation using Constructor and Destructor of Classes
Stack Implementation using Constructor and Destructor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | #include<iostream> using namespace std; int maxsize=4; class stack{ private: int stackarray[4],top; public: stack() { top=-1; if(top==-1) cout<<"Stack created. Stack is empty."; else for (int i=top;i>=0;i--) cout<<"value "<<i+1<<": "<<stackarray[i]<<endl; } void push(int number) { if(top==maxsize-1) cout<<"Error stack overflow!\n"; else top++; stackarray[top]=number; } void pop() { if (top==-1) cout<<"Stack underflow\n"; else { cout<<stackarray[top]<<" popped successfully.\n"; top--; } } void display() { if(top==-1) cout<<"Stack is empty."; else for (int i=top;i>=0;i--) cout<<"value "<<i+1<<": "<<stackarray[i]<<endl; } ~stack() { cout<<"Stack Destructed successfully\n"; } }; int main() { stack s1; char ch; do{ cout<<"\nPress.. \n" <<"1 to push\n" <<"2 to pop\n" <<"3 to display\n" <<"4 to end\n\n"; cin>>ch; switch(ch) { case '1': int n; cout<<"Enter a number: "; cin>>n; s1.push(n); break; case '2': s1.pop(); break; case '3': s1.display(); break; case '4': cout<<"Exiting...\n\n"; break; default: cout<<"Invalid option!\n"; break; } } while(ch!='4'); return 0; } |
Output