Pesquisar aqui

segunda-feira, 27 de janeiro de 2020

C++ - Funções - Overloading



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.