Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Sobrecarga de funciones de C++

Sobrecarga de funciones de C++

En este tutorial, aprenderemos sobre la sobrecarga de funciones en C++ con ejemplos.

En C++, dos funciones pueden tener el mismo nombre si el número y/o tipo de argumentos pasados ​​es diferente.

Estas funciones que tienen el mismo nombre pero diferentes argumentos se conocen como funciones sobrecargadas. Por ejemplo:

// same name different arguments
int test() { }
int test(int a) { }
float test(double a) { }
int test(int a, double b) { }

Aquí, las 4 funciones son funciones sobrecargadas.

Tenga en cuenta que los tipos de devolución de estas 4 funciones no son los mismos. Las funciones sobrecargadas pueden o no tener diferentes tipos de devolución, pero deben tener diferentes argumentos. Por ejemplo,

// Error code
int test(int a) { }
double test(int b){ }

Aquí, ambas funciones tienen el mismo nombre, el mismo tipo y la misma cantidad de argumentos. Por lo tanto, el compilador arrojará un error.


Ejemplo 1:Sobrecarga usando diferentes tipos de parámetros

// Program to compute absolute value
// Works for both int and float

#include <iostream>
using namespace std;

// function with float type parameter
float absolute(float var){
    if (var < 0.0)
        var = -var;
    return var;
}

// function with int type parameter
int absolute(int var) {
     if (var < 0)
         var = -var;
    return var;
}

int main() {
    
    // call function with int type parameter
    cout << "Absolute value of -5 = " << absolute(-5) << endl;

    // call function with float type parameter
    cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl;
    return 0;
}

Salida

Absolute value of -5 = 5
Absolute value of 5.5 = 5.5

En este programa, sobrecargamos el absolute() función. Según el tipo de parámetro pasado durante la llamada a la función, se llama a la función correspondiente.


Ejemplo 2:Sobrecarga usando diferente número de parámetros

#include <iostream>
using namespace std;

// function with 2 parameters
void display(int var1, double var2) {
    cout << "Integer number: " << var1;
    cout << " and double number: " << var2 << endl;
}

// function with double type single parameter
void display(double var) {
    cout << "Double number: " << var << endl;
}

// function with int type single parameter
void display(int var) {
    cout << "Integer number: " << var << endl;
}

int main() {

    int a = 5;
    double b = 5.5;

    // call function with int type parameter
    display(a);

    // call function with double type parameter
    display(b);

    // call function with 2 parameters
    display(a, b);

    return 0;
}

Salida

Integer number: 5
Float number: 5.5
Integer number: 5 and double number: 5.5

Aquí, el display() La función se llama tres veces con diferentes argumentos. Dependiendo del número y tipo de argumentos pasados, el display() correspondiente se llama a la función.

El tipo de retorno de todas estas funciones es el mismo, pero ese no tiene por qué ser el caso de la sobrecarga de funciones.


Nota: En C++, muchas funciones de biblioteca estándar están sobrecargadas. Por ejemplo, el sqrt() la función puede tomar double , float , int, etc. como parámetros. Esto es posible porque el sqrt() la función está sobrecargada en C++.


Lenguaje C

  1. Sobrecarga del método C#
  2. Sobrecarga del constructor de C#
  3. Operadores de C++
  4. Comentarios de C++
  5. Pasar matriz a una función en programación C++
  6. Función amiga de C++ y Clases amigas
  7. Pasar arreglos a una función en C
  8. Sobrecarga de operadores de C++ con ejemplos
  9. Funciones de C++ con ejemplos de programas
  10. C - Funciones
  11. Sobrecarga de C++ (operador y función)