Description overriding.
Polymorphism in CPP can be defined as the capability of objects of different types responding to functions with same name in their own ways.
Description overridden. The process is called Function overriding.
Function overriding involves Inheritance.Without inheritance, one cannot perform overriding on functions.
[c]
//Example for function overriding
class base_class
{
public:
void splessons()
{
cout << "Welcome to splessons.";
}
};
class derived_class : public base
{
public:
void splessons()
{
cout << "You are reading splessons";
}
}
[/c]
Here, splessons in parent class is overridden by child class.
Description Binding.
If binding process is done before run-time, it is called as Compile-time binding or Static binding or Early binding.
[c]
//Example for early binding
#include<iostream>
using namespace std;
class parent_class
{
public:
void splessons()
{
cout << "Welcome to splessons.";
}
};
class child_class:public parent_class
{
public:
void splessons()
{
cout << "You are reading c++";
}
};
int main()
{
parent_class p; //object of parent class
child_class c; //object of child class
p.splessons(); //Compile-time binding or early binding
c.splessons();
}[/c]
Output
[c]
Welcome to splessons.You are reading c++[/c]
In compile-time binding, even if the child class is pointed and called, the compiler will point to parent class only.
Description
Examples VTABLES and vpointers. vpointers stores the address of objects created in classes of virtual functions. When a virtual function is called the pointer binds to the correct address in the VTABLE.
Description
Example
Key Points
Programming
Tips