Overloading is a technique that allows you to give a several functions with the same name but different parameter lists.
Consider the following program.
#include <iostream.h> void Add(int Left, int Right); main () { Add(5, 9); // Integer Add. Add(3.2, 7.1); // Floating point Add. } // Integer version of Add. void Add(int Left, int Right) { cout << Left << " + " << Right << " = " << Left+Right << endl; } |
The program contains the Add function that adds integers. But the main calls it twice, once passing integers and the second time passing floating point numbers. The program will compile and run but you will get incorrect results because the floats will be cast to integers.
The second program offers a solution by overloading the Add function.
#include <iostream.h> void Add(int Left, int Right); void Add(double Left, double Right); main () { Add(5, 9); // Integer Add. Add(3.2, 7.1); // Floating point Add. } // Integer version of Add. void Add(int Left, int Right) { cout << Left << " + " << Right << " = " << Left+Right << endl; } // float version of Add. void Add(double Left, double Right) { cout << Left << " + " << Right << " = " << Left+Right << endl; } |
Please note that the returned argument is not used when matching overloaded functions.
Top | Master Index | Keywords | Functions |