Introducción a la sobrecarga de funciones en C ++

La programación en C ++ tiene características sorprendentes y una de las características más importantes es la sobrecarga de funciones. Significa un código que tiene más de una función con el mismo nombre pero con diferentes listas de argumentos. La lista de argumentos significa la secuencia de los argumentos y los tipos de datos de los argumentos. La sobrecarga de funciones se utiliza para realizar operaciones similares. Se utiliza para mejorar la legibilidad del código. Redefiní la función porque no tiene sentido crear dos funciones diferentes para realizar el mismo trabajo una y otra vez.

Sintaxis

void add(int a, int b);
void add(float a, float b);

Ambas son la misma función pero los argumentos son diferentes. Entonces, en caso de que desee realizar la adición en diferentes tipos de datos utilizando la misma función, la función de sobrecarga de funciones se puede utilizar en la programación con C ++.

Aquí está el código C ++ para demostrar la sobrecarga de funciones en la programación C ++:

Código:

#include
using namespace std;
void print(int x) (
cout << " Here is the integer " << x << endl;
)
void print(double y) (
cout << " Here is the float " << y << endl;
)
void print(char const *v) (
cout << " Here is the character* " << v << endl;
)
int main() (
print(20);
print(20.30);
print("three");
return 0;
)

Diferentes formas de sobrecargar la función en C ++

Hay varias formas de sobrecargar una función en el lenguaje de programación C ++. Veamos cómo podemos hacer eso:

1. Sobrecarga de funciones

Se usa para aumentar la legibilidad del código en la programación. Se puede definir como sobrecargar 2 o más funciones con el mismo nombre, pero diferentes parámetros se conocen como sobrecarga de funciones.

Sintaxis:

DataType Functionname (parameter list)
(
Function body
)

Ejemplo 1

Aquí está el código C ++ para demostrar la sobrecarga de la función cambiando el número de argumentos en la programación C ++:

Código:

#include
using namespace std;
class Calculate (
public:
static int addition(int a, int b)(
return a + b;
)
static int addition(int a, int b, int c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)
#include
using namespace std;
class Calculate (
public:
static int addition(int a, int b)(
return a + b;
)
static int addition(int a, int b, int c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)
#include
using namespace std;
class Calculate (
public:
static int addition(int a, int b)(
return a + b;
)
static int addition(int a, int b, int c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)

Ejemplo # 2

Aquí está el código C ++ para demostrar la sobrecarga de funciones al tener diferentes tipos de argumentos en la programación C ++:

Código:

#include
using namespace std;
class Calculate (
public:
int addition(int a, int b)(
return a + b;
)
float addition(float a, float b, float c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)
#include
using namespace std;
class Calculate (
public:
int addition(int a, int b)(
return a + b;
)
float addition(float a, float b, float c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)
#include
using namespace std;
class Calculate (
public:
int addition(int a, int b)(
return a + b;
)
float addition(float a, float b, float c)
(
return a + b + c;
)
);
int main(void) (
// Declaration class object to call function
Calculate S;
cout< cout< return 0;
)

2. Sobrecarga del operador

Hay varios operadores integrados en el lenguaje de programación C ++. Un codificador puede usar estos operadores para sobrecargar o redefinir estos operadores integrados. Es un polimorfismo en tiempo de compilación en el que un operador sobrecargado se utiliza para realizar tareas en tipos de datos definidos por el usuario. Casi muchos operadores pueden sobrecargarse en lenguaje de programación C ++.

Sintaxis:

ReturnType Classname :: operator OperatorSymbol (parameter list)
(
Function body
)

Ejemplo 1

Aquí está el código C ++ para demostrar la sobrecarga del operador en la programación C ++:

Código:

#include
using namespace std;
class Demo
(
private:
int count;
public:
Demo(): count(5)()
void operator ++()
(
count = count+1;
)
void DisplayCount() ( cout<<"The Count is : "< );
int main()
(
Demo d;
// this calls void operator ++()" function
++d;
d.DisplayCount();
return 0;
)
#include
using namespace std;
class Demo
(
private:
int count;
public:
Demo(): count(5)()
void operator ++()
(
count = count+1;
)
void DisplayCount() ( cout<<"The Count is : "< );
int main()
(
Demo d;
// this calls void operator ++()" function
++d;
d.DisplayCount();
return 0;
)

Ejemplo # 2

Veamos cómo funciona realmente la sobrecarga de funciones. en la programación a través de ejemplos de codificación C ++:

Código:

#include
using namespace std;
void show(int);
void show(float);
void show(int, float);
int main() (
int x = 10;
float y = 255.5;
show(x);
show(y);
show(x, y);
return 0;
)
void show(int variable) (
cout << "The Integer number is : " << variable << endl;
)
void show(float variable) (
cout << "The Float number is: " << variable << endl;
)
void show(int variable1, float variable2) (
cout << "The Integer number is: " << variable1;
cout << " And The Float number is:" << variable2;
)

Explicación del código:

En el código anterior, hemos creado una función para mostrar la salida de diferentes tipos de datos, pero si observa que el nombre de las funciones es el mismo y los argumentos son diferentes. Luego, inicializamos una variable llamada x y le asignamos un valor y también algunos valores asignados a la variable flotante y. Después de asignar valores a las variables xey, llamamos a la función que se muestra para mostrar el valor de entrada en la pantalla de salida.

Como puede ver los nombres de las funciones, pero el argumento es diferente en los tres casos. Primero, llamamos a la función solo mostrar variable entera después de eso llamamos a mostrar función para mostrar la salida solo para la variable flotante. Finalmente, llamamos a la función show que tiene variables enteras y flotantes para mostrar la salida en la pantalla como salida.

Así es como funciona realmente la función de sobrecarga de funciones en el lenguaje de programación C ++. Dependiendo de los diferentes tipos de datos, se puede usar la misma función para realizar un conjunto similar de operaciones.

Ejemplo # 3

Aquí está el código C ++ para demostrar la sobrecarga de funciones en la programación C ++:

Código:

#include
using namespace std;
class X
( int x;
public:
X()()
X(int j)
(
x=j;
)
void operator+(X);
void display();
);
void X :: operator+(X a)
(
int n = x+ax;
cout<<"The addition of two objects is : "< )
int main()
(
X a1(505);
X a2(409);
a1+a2;
return 0;
)
#include
using namespace std;
class X
( int x;
public:
X()()
X(int j)
(
x=j;
)
void operator+(X);
void display();
);
void X :: operator+(X a)
(
int n = x+ax;
cout<<"The addition of two objects is : "< )
int main()
(
X a1(505);
X a2(409);
a1+a2;
return 0;
)

Explicación del código:

En el código anterior, creamos una clase X y creamos una variable entera xy luego declaramos dos constructores para que no tengamos que crear objetos para llamar a la función como constructor inicializa automáticamente un objeto de clase recién creado justo después de que se asigna una memoria . Se crean dos funciones de operador y pantalla para mostrar la adición de dos objetos utilizando conceptos de sobrecarga de funciones en nuestro código.

Conclusión

En conclusión, la función de sobrecarga de funciones en C ++ se puede usar de múltiples maneras para aumentar la legibilidad del código. Ayuda a ahorrar espacio en la memoria, así como el tiempo de compilación mientras se programa con el lenguaje C ++. El concepto de polimorfismo en tiempo de compilación también se introduce a través de conceptos de sobrecarga del operador donde casi todos los operadores pueden sobrecargarse.

Artículos recomendados

Esta es una guía para la sobrecarga de funciones en C ++. Aquí discutimos las diversas formas de sobrecargar la función en C ++ junto con diferentes ejemplos e implementación de código. También puede consultar el siguiente artículo para obtener más información:

  1. ¿Cómo funciona la función recursiva en C ++?
  2. Los 3 principales tipos de datos en C ++
  3. Ejemplos de sobrecarga y anulación en C ++
  4. String Array en C ++ una matriz de múltiples cadenas