Sobrecarga de Funções
Parte da seção Fundamentos do Journey de C++ da Coddy — lição 54 de 74.
A sobrecarga de funções é um recurso no C++ onde duas ou mais funções podem ter o mesmo nome, mas parâmetros diferentes. Quando você chama uma função sobrecarregada, o compilador C++ determina a definição mais apropriada a ser usada comparando os tipos de argumentos que você usou na chamada com os tipos de parâmetros especificados nas definições. Se nenhuma função correspondente for encontrada, o compilador gerará um erro.
Aqui está um exemplo de sobrecarga de função:
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
int sum1 = add(5, 3); // Chama a primeira versão de add
double sum2 = add(2.5, 3.7); // Chama a segunda versão de add
return 0;
}Neste exemplo, temos duas funções chamadas add. Uma recebe dois parâmetros int, e a outra recebe dois parâmetros double. Dependendo dos tipos dos argumentos que passamos para add, a versão apropriada da função é chamada.
É importante notar que o tipo de retorno por si só não é suficiente para sobrecarregar uma função. As funções devem diferir em suas listas de parâmetros.
Folha de consulta
A sobrecarga de funções permite múltiplas funções com o mesmo nome, mas parâmetros diferentes. O compilador seleciona a função apropriada com base nos tipos de argumentos:
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
int main() {
int sum1 = add(5, 3); // Chama a versão int
double sum2 = add(2.5, 3.7); // Chama a versão double
return 0;
}As funções devem diferir em suas listas de parâmetros - apenas o tipo de retorno não é suficiente para a sobrecarga.
Experimente você mesmo
Esta lição não inclui um desafio de código.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloIncremento/DecrementoPós-incremento/DecrementoAtalhos AritméticosOperadores de ComparaçãoComparação de Strings7Fundamentos de Entrada/Saída
Comando coutComando cinEntrada de StringRevisão - Até 120Revisão - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetrosTipos de RetornoSobrecarga de FunçõesRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoFunções Void3Variáveis Parte 2
Declaração de TipoConvenções de NomenclaturaRecapitulação - Inicializar VariáveisType Casting Parte 1Type Casting Parte 26Tomada de Decisão
Estrutura IfIf - ElseEstrutura SwitchOperador CondicionalRecapitulação - If ElseIf - Else Aninhado