Sobrecarga de função

Quando temos várias funções com o mesmo nome, mas parâmetros diferentes, dizemos que estão sobrecarregadas. Essa técnica é usada para melhorar a legibilidade do programa.

Existem duas maneiras de sobrecarregar uma função, ou seja -

  • Tendo um número diferente de argumentos
  • Tendo diferentes tipos de argumento

A sobrecarga de funções normalmente é feita quando temos que realizar uma única operação com diferentes números ou tipos de argumentos.

Sobrecarga de função em C ++

O exemplo a seguir mostra como a sobrecarga de função é feita em C ++, que é uma linguagem de programação orientada 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; 
}

Ele produzirá a seguinte saída -

Integer number: 10 
Float number: 15

Sobrecarga de função em Erlang

O exemplo a seguir mostra como executar a sobrecarga de função em Erlang, que é uma linguagem de programação 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).

Ele produzirá a seguinte saída -

10 
15