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