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

Argumentos predeterminados de programación en C++ (parámetros)

Argumentos predeterminados de programación en C++ (parámetros)

En este tutorial, aprenderemos los argumentos predeterminados de C++ y su funcionamiento con la ayuda de ejemplos.

En la programación C++, podemos proporcionar valores predeterminados para los parámetros de función.

Si se llama a una función con argumentos predeterminados sin pasar argumentos, se utilizan los parámetros predeterminados.

Sin embargo, si se pasan argumentos al llamar a la función, los argumentos predeterminados se ignoran.


Funcionamiento de argumentos predeterminados

Podemos entender el funcionamiento de los argumentos predeterminados de la imagen de arriba:

  1. Cuando temp() se llama, ambos parámetros predeterminados son utilizados por la función.
  2. Cuando temp(6) se llama, el primer argumento se convierte en 6 mientras que el valor predeterminado se usa para el segundo parámetro.
  3. Cuando temp(6, -2.3) se llama, ambos parámetros predeterminados se anulan, lo que da como resultado i = 6 y f = -2.3 .
  4. Cuando temp(3.4) se pasa, la función se comporta de forma no deseada porque el segundo argumento no se puede pasar sin pasar el primer argumento.

    Por lo tanto, 3.4 se pasa como el primer argumento. Dado que el primer argumento se ha definido como int , el valor que realmente se pasa es 3 .

Ejemplo:argumento predeterminado

#include <iostream>
using namespace std;

// defining the default arguments
void display(char = '*', int = 3);

int main() {
    int count = 5;

    cout << "No argument passed: ";
    // *, 3 will be parameters
    display(); 
    
    cout << "First argument passed: ";
     // #, 3 will be parameters
    display('#'); 
    
    cout << "Both arguments passed: ";
    // $, 5 will be parameters
    display('$', count); 

    return 0;
}

void display(char c, int count) {
    for(int i = 1; i <= count; ++i)
    {
        cout << c;
    }
    cout << endl;
}

Salida

No argument passed: ***
First argument passed: ###
Both arguments passed: $$$$$

Así es como funciona este programa:

  1. display() se llama sin pasar ningún argumento. En este caso, display() utiliza ambos parámetros predeterminados c = '*' y n = 1 .
  2. display('#') se llama con un solo argumento. En este caso, el primero se convierte en '#' . El segundo parámetro predeterminado n = 1 se conserva.
  3. display('#', count) se llama con ambos argumentos. En este caso, no se utilizan argumentos predeterminados.

También podemos definir los parámetros predeterminados en la propia definición de la función. El programa de abajo es equivalente al de arriba.

#include <iostream>
using namespace std;

// defining the default arguments
void display(char c = '*', int count = 3) {
    for(int i = 1; i <= count; ++i) {
        cout << c;
    }
    cout << endl;
}

int main() {
    int count = 5;

    cout << "No argument passed: ";
    // *, 3 will be parameters
    display(); 
    
    cout << "First argument passed: ";
     // #, 3 will be parameters
    display('#'); 
    
    cout << "Both argument passed: ";
    // $, 5 will be parameters
    display('$', count); 

    return 0;
}

Cosas para recordar

  1. Una vez que proporcionamos un valor predeterminado para un parámetro, todos los parámetros posteriores también deben tener valores predeterminados. Por ejemplo,
    // Invalid
    void add(int a, int b = 3, int c, int d);
    
    // Invalid
    void add(int a, int b = 3, int c, int d = 4);
    
    // Valid
    void add(int a, int c, int b = 3, int d = 4);
  2. Si estamos definiendo los argumentos predeterminados en la definición de la función en lugar del prototipo de la función, entonces la función debe definirse antes de la llamada a la función.
    // Invalid code
    
    int main() {
        // function call
        display();
    }
    
    void display(char c = '*', int count = 5) {
        // code
    }

Lenguaje C

  1. Espacios de nombres en la programación de C#
  2. Operadores de C++
  3. Comentarios de C++
  4. Pasar matriz a una función en programación C++
  5. Plantillas de clase de C++
  6. Operadores de programación en C
  7. Tipos de funciones definidas por el usuario en programación C
  8. Tutorial C
  9. C - Funciones
  10. C - Argumentos variables
  11. Descripción general de C++