pointers to base class : object pointer « Class « C++






pointers to base class

  
#include <iostream>
using namespace std;

class CPolygon {
  protected:
    int width, height;
  public:
    void set_values (int a, int b)
    { width=a; height=b; }
};

class CRectangle: public CPolygon {
  public:
    int area ()
    { return (width * height); }
};

class CTriangle: public CPolygon {
  public:
    int area ()
    { return (width * height / 2); }
};

int main () {
  CRectangle rect;
  CTriangle trgl;
  CPolygon * ppoly1 = &rect;
  CPolygon * ppoly2 = &trgl;
  ppoly1->set_values (4,5);
  ppoly2->set_values (4,5);
  cout << rect.area() << endl;
  cout << trgl.area() << endl;
  return 0;
}
  
    
  








Related examples in the same category

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