Stack Implementation using Multiple Inheritance in C++
Let us see the Stack Implementation using Multiple Inheritance.
Stack Implementation using Multiple Inheritance in C++
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; class stacktop{ protected: int top; public: stacktop() { top=-1; } }; class stackarray{ protected: int stackarray[4]; public: ~stackarray() { cout<<"Stack destructed\n"; } }; class stackfunction:public stacktop,stackarray{ public: void push(int n) { if (top==3) cout<<"Stack overflow\n"; else { top++; stackarray[top]=n; } } void pop() { if (top==-1) cout<<"Stack underflow\n"; else { cout<<stackarray[top]<<" popped successfully\n"; top--; } } void display() { if(top==
-1) cout<<"Stack empty\n"; else { for (int i=0;i<=top;i++) cout<<"Value "<<i+1<<": "<<stackarray[i]<<endl; } } }; int main() { stackfunction s1; char ch; do{ cout<<"Press...\n" <<"1 to push\n" <<"2 to pop\n" <<"3 to display\n" <<"4 to exit\n\n"; cin>>ch; switch(ch) { case '1': int n; cout<<"Enter element\n"; cin>>n; s1.push(n); break; case '2': s1.pop(); break; case '3': s1.display(); break; } } while(ch!='4'); return 0; } |
Output