Funções diferentes podem ter o mesmo nome mas diferentes parâmetros.
.
int printNum(int num){ cout << num << endl; } float printNum(float num){ cout << num << endl; } int printNum(int num, int num2){ cout << num << endl; cout << num2 << endl; }
Então quando for chamada, o compiler tem em atenção o tipo de dado do argumento e o número de argumentos.
Temos de ter atenção para que não haja discrepâncias quando formos chamar a variável, isto é, não podemos ter duas funções iguais mas uma delas tem mais um parâmetro que é padrão. O compiler não vai saber qual utilizar.
Programa exemplo completo
#include <iostream> using namespace std; int printNum(int num){ cout << num << endl; } float printNum(float num){ cout << num << endl; } int printNum(int num, int num2){ cout << num << endl; cout << num2 << endl; } int main(){ printNum(6, 9); }
A função printNum foi chamada. Como existe overloading, dependendo dos argumentos usados, um código diferente será executado. Neste caso, os dois argumentos foram 6 e 9, dos inteiros, logo correspondem à terceira função.
O output será:
6 9
Referências
Sem comentários:
Enviar um comentário
Comente de forma construtiva...
Nota: só um membro deste blogue pode publicar um comentário.