Sobrecarga de funciones

Cuando tenemos varias funciones con el mismo nombre pero diferentes parámetros, se dice que están sobrecargadas. Esta técnica se utiliza para mejorar la legibilidad del programa.

Hay dos formas de sobrecargar una función, es decir:

  • Tener diferente número de argumentos
  • Tener diferentes tipos de argumentos

La sobrecarga de funciones se realiza normalmente cuando tenemos que realizar una sola operación con diferente número o tipos de argumentos.

Sobrecarga de funciones en C ++

El siguiente ejemplo muestra cómo se realiza la sobrecarga de funciones en C ++, que es un lenguaje de programación orientado a objetos:

#include <iostream> 
using namespace std;  
void addnum(int,int); 
void addnum(int,int,int); 

int main() {     
   addnum (5,5); 
   addnum (5,2,8); 
   return 0; 
} 

void addnum (int x, int y) {     
   cout<<"Integer number: "<<x+y<<endl; 
} 

void addnum (int x, int y, int z) {     
   cout<<"Float number: "<<x+y+z<<endl; 
}

Producirá la siguiente salida:

Integer number: 10 
Float number: 15

Sobrecarga de funciones en Erlang

El siguiente ejemplo muestra cómo realizar la sobrecarga de funciones en Erlang, que es un lenguaje de programación funcional:

-module(helloworld).  
-export([addnum/2,addnum/3,start/0]).   

addnum(X,Y) ->  
   Z = X+Y,  
   io:fwrite("~w~n",[Z]).  
    
addnum(X,Y,Z) ->  
   A = X+Y+Z,  
   io:fwrite("~w~n",[A]).  
  
start() ->
   addnum(5,5),     addnum(5,2,8).

Producirá la siguiente salida:

10 
15