Advertisement
//Base class
class A
{
}
//Derived class class B is subclass of class A
class B extends A
{
}
int main()
{
A ob1;
B ob2;
//Base class pointer
A *aptr;
//Base class pointer pointing to the base class object.
aptr = &ob1;
//Base class pointer pointing to the derived class object.
aptr = &ob2;
}
Advertisement
//Runtime polymorphism or dynamic function dispatch, during function overriding
#include<iostream>
using namespace std;
//Base class
class A
{
public:
int a;
virtual void show(); //Declaration of base class function - virtual, to peform runtime polymorphism
};
void A :: show()
{
cout<<"The show()function of Base class A \n";
cout<<"a is : "<< a << "\n";
}
//Derived class
class B : public A //class B is subclass/child class of class A
{
public:
int b;
void show();
};
void B :: show()
{
cout<<"The show()function of derived class B \n";
cout<<"a is : " << a << "\n";
cout<<"b is : " << b << "\n";
}
int main()
{
A ob1;
ob1.a = 10;
B ob2;
ob2.a = 20;
ob2.b = 30;
A *aptr;
//Base class pointer pointing to the base class object.
aptr = &ob1;
//Base class pointer pointing to the base class function.
aptr->show();
//Base class pointer pointing to the derived class object.
aptr = &ob2;
//Base class pointer pointing to the base class function.
aptr->show();
}
The show()method of Base class A
a is : 10
The show()method of derived class B
a is : 20
b is : 30
Advertisement
Advertisement
Please check our latest addition
C#, PYTHON and DJANGO
Advertisement