Mega Code Archive

 
Categories / C++ / Class
 

Demonstrate pointer to derived class

#include <iostream> using namespace std; class BaseClass {   int x; public:   void setx(int i) {       x = i;    }   int getx() {       return x;    } }; class DerivedClass : public BaseClass {   int y; public:   void sety(int i) {       y = i;    }   int gety() {       return y;    } }; int main() {   BaseClass *p;                               // pointer to BaseClass type   BaseClass baseObject;                       // object of BaseClass   DerivedClass derivedObject;                 // object of DerivedClass   p = &baseObject;                            // use p to access BaseClass object   p->setx(10);                                // access BaseClass object   cout << "Base object x: " << p->getx() << '\n';   p = &derivedObject;                         // point to DerivedClass object    p->setx(99);                                // access DerivedClass object      derivedObject.sety(88);                     // can't use p to set y, so do it directly   cout << "Derived object x: " << p->getx() << '\n';   cout << "Derived object y: " << derivedObject.gety() << '\n';   return 0; }