Use & to get object address : object pointer « Class « C++






Use & to get object address

  
#include <iostream>
using namespace std;
class base 
{
 public:
   virtual void vfunc(void)
    {
      cout << "This is base's vfunc()." << endl;
    }
};

class derived1 : public base 
{
 public:
   void vfunc(void)
    {
      cout << "This is derived1's vfunc()." << endl;
    }
};

class derived2 : public derived1 
{
 public:
   void vfunc(void)
   {
      cout << "This is derived2's vfunc()." << endl;
   }
};

int main(void)
{
   base *p, b;
   derived1 d1;
   derived2 d2;

   p = &b;        // Point to base class
   p->vfunc();
   p = &d1;       // Point to first derived class
   p->vfunc();
   p = &d2;       // Point to second derived class
   p->vfunc();
}
  
    
  








Related examples in the same category

1.Use object pointer to reference virtual method
2.Call virtual function through object pointer
3.Change the object pointer behaviour
4.Using an array of class objects
5.Use dynamic_cast to convert object pointer to its subclass
6.Need reinterpret cast to perform pointer conversion from unrelated classes
7.Need reinterpret_cast to go from pointer to int and from int to pointer
8.Need reinterpret cast to perform reference conversion from unrelated classes -- static_cast doesn't work
9.Declare object pointer
10.pointers to base class
11.Demonstrating the class member access operators . and ->