Class C++ Tutorial

#include  
using namespace std; 
 
class BaseClass { 
public: 
  virtual void who() { // specify a virtual function 
    cout << "Base\n"; 
  } 
}; 
 
class DerivedClass1 : public BaseClass { 
public: 
  void who() { // redefine who() for DerivedClass1  
    cout << "First derivation\n"; 
  } 
}; 
 
class DerivedClass2 : public BaseClass { 
public: 
  void who() { // redefine who() for DerivedClass2 
    cout << "Second derivation\n"; 
  } 
}; 
 
int main() 

  BaseClass base_obj; 
  BaseClass *p; 
  DerivedClass1 DerivedClass1_obj; 
  DerivedClass2 DerivedClass2_obj; 
 
  p = &base_obj; 
  p->who();  // access BaseClass's who 
 
  p = &DerivedClass1_obj; 
  p->who(); // access DerivedClass1's who 
 
  p = &DerivedClass2_obj; 
  p->who();  // access DerivedClass2's who 
   
  return 0; 
}
Base
First derivation
Second derivation