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:
- Cuando
temp()
se llama, ambos parámetros predeterminados son utilizados por la función. - Cuando
temp(6)
se llama, el primer argumento se convierte en6
mientras que el valor predeterminado se usa para el segundo parámetro. - Cuando
temp(6, -2.3)
se llama, ambos parámetros predeterminados se anulan, lo que da como resultadoi = 6
yf = -2.3
. - 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 comoint
, el valor que realmente se pasa es3
.
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:
display()
se llama sin pasar ningún argumento. En este caso,display()
utiliza ambos parámetros predeterminadosc = '*'
yn = 1
.display('#')
se llama con un solo argumento. En este caso, el primero se convierte en'#'
. El segundo parámetro predeterminadon = 1
se conserva.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
- 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);
- 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
- Espacios de nombres en la programación de C#
- Operadores de C++
- Comentarios de C++
- Pasar matriz a una función en programación C++
- Plantillas de clase de C++
- Operadores de programación en C
- Tipos de funciones definidas por el usuario en programación C
- Tutorial C
- C - Funciones
- C - Argumentos variables
- Descripción general de C++