When the base class and derived class have member functions with exactly the same name, same return-type, and same arguments list, then it is said to be function overriding.
The following example shows how function overriding is done in C++, which is an objectoriented programming language −
#include <iostream> using namespace std; class A { public: void display() { cout<<"Base class"; } }; class B:public A { public: void display() { cout<<"Derived Class"; } }; int main() { B obj; obj.display(); return 0; }
It will produce the following output
Derived Class
The following example shows how to perform function overriding in Python, which is a functional programming language −
class A(object): def disp(self): print "Base Class" class B(A): def disp(self): print "Derived Class" x = A() y = B() x.disp() y.disp()
It will produce the following output −
Base Class Derived Class