Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Argumentos Posicionales y por Defecto | Especificación de Argumentos de Funciones
Funciones en C++

Argumentos Posicionales y por Defecto

Desliza para mostrar el menú

Argumentos posicionales

Argumentos posicionales son una forma de pasar valores a una función en un orden específico según la firma de la función. Los valores se asocian con los parámetros de acuerdo con sus posiciones en la lista de parámetros de la firma de la función. La posición de cada argumento determina a qué parámetro corresponde.

main.cpp

main.cpp

1234567891011121314151617181920
#include <iostream> // Function that takes two positional arguments float divide(float a, float b) { if (b == 0) return 0; return a / b; } int main() { float x = 8; float y = 4; // Calling the 'divide' function with two positional arguments float result = divide(x, y); std::cout << result << std::endl; }

Puedes realizar un pequeño experimento: cambia el orden de los argumentos al pasar a la función (usa divide (y, x) en lugar de divide(x, y)), y verás que el resultado ha cambiado. Esta es precisamente la esencia de los argumentos posicionales: el orden en que se pasan los parámetros a la función es importante y afecta directamente su resultado.

Argumentos predeterminados

Argumentos predeterminados permiten asignar valores por defecto a los parámetros de una función. Si una función se llama sin proporcionar todos los argumentos, los que faltan usan sus valores predeterminados. Para establecer un valor predeterminado, simplemente asigna un valor al parámetro directamente en la declaración de la función.

main.cpp

main.cpp

12345678910111213141516171819202122
#include <iostream> // Default value is set for the third parameter float divide(float a, float b, bool terminate = true) { if (b == 0) { if (terminate) return 0; return a / 0.000001; // Prevent crash by using a very small number } return a / b; } int main() { std::cout << divide(10, 2) << std::endl; // Normal division std::cout << divide(10, 0) << std::endl; // Default behavior (error) std::cout << divide(10, 0, false) << std::endl; // Forced division }

La función divide() divide un número por otro. Si el denominador (b) es cero:

  • terminate = true → devuelve 0
  • terminate = false → divide por un número muy pequeño para evitar un error

El parámetro terminate tiene un valor predeterminado de true, por lo que puede omitirse. Establece terminate = false para continuar el cálculo en lugar de detenerlo.

Note
Nota

Es importante que todos los argumentos predeterminados estén ubicados después de los posicionales en la lista de parámetros. De lo contrario, el compilador generará un error.

question mark

¿Qué declaración de función utiliza correctamente argumentos posicionales y predeterminados?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 1

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 2. Capítulo 1
some-alt