overloading functions in base and derived classes : member method « Class « C++ Tutorial






#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 << s1.pop();        
     cout << endl;  
     return 0;  
  }








9.4.member method
9.4.1.Declare a class with method
9.4.2.Implement class member function
9.4.3.The class member access operators . and ->
9.4.4.Overloading class member functions
9.4.5.Default values in member functions
9.4.6.Use class as the member function parameter type
9.4.7.member function overloading.
9.4.8.overloading two class member functions
9.4.9.overloading functions in base and derived classes