Sobrecarga de funciones
Parte de la sección Fundamentos del Journey de C++ de Coddy — lección 54 de 74.
La sobrecarga de funciones es una característica en C++ donde dos o más funciones pueden tener el mismo nombre pero diferentes parámetros. Cuando llamas a una función sobrecargada, el compilador de C++ determina la definición más apropiada a utilizar comparando los tipos de argumentos que has usado en la llamada con los tipos de parámetros especificados en las definiciones. Si no se encuentra ninguna función coincidente, el compilador generará un error.
Aquí tienes un ejemplo de sobrecarga de funciones:
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); // Llama a la primera versión de add
double sum2 = add(2.5, 3.7); // Llama a la segunda versión de add
return 0;
}En este ejemplo, tenemos dos funciones llamadas add. Una toma dos parámetros int, y la otra toma dos parámetros double. Dependiendo de los tipos de los argumentos que pasamos a add, se llama a la versión apropiada de la función.
Es importante tener en cuenta que el tipo de retorno por sí solo no es suficiente para sobrecargar una función. Las funciones deben diferir en sus listas de parámetros.
Hoja de referencia
La sobrecarga de funciones permite múltiples funciones con el mismo nombre pero diferentes parámetros. El compilador selecciona la función adecuada basándose en los tipos de los 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); // Llama a la versión int
double sum2 = add(2.5, 3.7); // Llama a la versión double
return 0;
}Las funciones deben diferir en sus listas de parámetros; el tipo de retorno por sí solo no es suficiente para la sobrecarga.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador móduloIncremento/DecrementoPost-incremento/decrementoAtajos aritméticosOperadores de comparaciónComparación de strings7Conceptos básicos de Entrada/Salida
Sentencia coutSentencia cinEntrada de cadenasResumen - Hasta 120Resumen - Verdadero o Falso10Funciones
Declarar una funciónParámetrosTipos de retornoSobrecarga de funcionesRepaso - Función SigmaRepaso - Función de validaciónFunciones void5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 38Calculadora de números
Mensaje de bienvenidaObtención de números3Variables Parte 2
Declaración de tiposConvenciones de nomenclaturaResumen - Inicializar variablesType Casting Parte 1Type Casting Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador condicionalRepaso - If ElseIf - Else anidados