Sobrecarga de funciones en C++

La sobrecarga de funciones es una característica de la programación orientada a objetos en la que dos o más funciones pueden tener el mismo nombre pero diferentes parámetros. Cuando el nombre de una función se sobrecarga con diferentes trabajos, se denomina sobrecarga de funciones. En la sobrecarga de funciones, el nombre de la «función» debe ser el mismo y los argumentos deben ser diferentes. La sobrecarga de funciones se puede considerar como un ejemplo de una característica de polimorfismo en C++.

Los parámetros deben seguir una o más de las siguientes condiciones para la sobrecarga de funciones:

  • Los parámetros deben tener un tipo diferente

sumar(int a, int b)
sumar(doble a, doble b)

A continuación se muestra la implementación de la discusión anterior:

C++

#include <iostream>
using namespace std;
 
 
void add(int a, int b)
{
  cout << "sum = " << (a + b);
}
 
void add(double a, double b)
{
    cout << endl << "sum = " << (a + b);
}
 
// Driver code
int main()
{
    add(10, 2);
    add(5.3, 6.2);
 
    return 0;
}
Producción

sum = 12
sum = 11.5
  • Los parámetros deben tener un número diferente 

sumar(int a, int b)
sumar(int a, int b, int c)

A continuación se muestra la implementación de la discusión anterior:

C++

#include <iostream>
using namespace std;
 
void add(int a, int b)
{
  cout << "sum = " << (a + b);
}
 
void add(int a, int b, int c)
{
    cout << endl << "sum = " << (a + b + c);
}
 
// Driver code
int main()
{
    add(10, 2);
    add(5, 6, 4);
 
    return 0;
}
Producción

sum = 12
sum = 15
  • Los parámetros deben tener una secuencia diferente de parámetros.

sumar(int a, doble b)
sumar(doble a, int b)

A continuación se muestra la implementación de la discusión anterior:

C++

#include<iostream>
using namespace std;
 
void add(int a, double b)
{
    cout<<"sum = "<<(a+b);
} 
 
void  add(double a, int b)
{
    cout<<endl<<"sum = "<<(a+b);
} 
 
// Driver code
int main()
{
    add(10,2.5);
    add(5.5,6);
 
      return 0;
}
Producción

sum = 12.5
sum = 11.5

El siguiente es un ejemplo simple de C++ para demostrar la sobrecarga de funciones.

CPP

#include <iostream>
using namespace std;
 
void print(int i) {
  cout << " Here is int " << i << endl;
}
void print(double  f) {
  cout << " Here is float " << f << endl;
}
void print(char const *c) {
  cout << " Here is char* " << c << endl;
}
 
int main() {
  print(10);
  print(10.10);
  print("ten");
  return 0;
}
Producción

 Here is int 10
 Here is float 10.1
 Here is char* ten

¿Cómo funciona la sobrecarga de funciones?

  • Coincidencia exacta : – (Nombre de función y parámetro)
  • Si se encuentra una coincidencia no exacta:

               ->Char, Unsigned char y short se promocionan a int.

               ->Float es ascendido a doble

  • Si no se encuentra ninguna coincidencia :

               ->C++ intenta encontrar una coincidencia a través de la conversión estándar.

  • DE LO CONTRARIO ERROR 🙁
  1. Sobrecarga de funciones y tipo de retorno
  2. Funciones que no se pueden sobrecargar en C++
  3. Sobrecarga de funciones y palabra clave const
  4. Sobrecarga de funciones frente a anulación de funciones en C++

Artículos recientes sobre la sobrecarga de funciones en C++
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *