Mega Code Archive

 
Categories / C++ Tutorial / Class
 

Overloading functions in base and derived classes

#include <iostream>     using namespace std;     #include <process.h>)     class Stack{        protected:                            enum { MAX = 3 };                  int st[MAX];                       int top;                        public:           Stack()                            { top = -1; }           void push(int var)                 { st[++top] = var; }           int pop()                          { return st[top--]; }     };     class Stack2 : public Stack     {        public:           void push(int var)         {              if(top >= MAX-1)               { cout << "\nError: stack is full"; exit(1); }              Stack::push(var);         }           int pop()                       {              if(top < 0)                     { cout << "\nError: stack is empty\n"; exit(1); }              return Stack::pop();                 }     };     int main()     {        Stack2 s1;             s1.push(11);                         s1.push(22);        s1.push(33);             cout << endl << s1.pop();            cout << endl << s1.pop();        cout << endl << s1.pop();              cout << endl;        return 0;     }