Python

Valores predeterminados en Parámetros

C++ nos permite asignar valores predeterminados a los argumentos que se pasan a una función, los valores predeterminados siempre serán los últimos, si un argumento se omite al llamar la función, se usará el valor predeterminado previamente definido.

Para definir valores predeterminados en la lista de parámetros, se realiza del mismo modo como se hace al hacerlo con valores predeterminados en las variables. Primero veamos un ejemplo utilizando los parámetros como hasta ahora hemos hecho.

#include <string>
#include <iostream>
using namespace std;

int capturaNombre(string Nombre, string Apellido)
{
cout << Nombre << " " << Apellido;
return 0;
}

int main()
{
capturaNombre("Jorge", "Ramirez");
return 0;
}

Al ejecutar este programa obtendremos la siguiente salida.

Juan Ramírez

Podemos predeterminar los valores en los argumentos definiendo los parámetros de esta forma:

int capturaNombre(string Nombre, string Apellido = "Pérez")

si hacemos este cambio en el programa inicial y lo ejecutamos, veremos que tenemos la misma salida. Sin embargo si llamamos a la función omitiendo el segundo parámetro veremos como se utiliza el valor predeterminado en el apellido.

 int main()
{
capturaNombre("Jorge");
return 0;
}

Al realizar este cambio obtendremos la siguiente salida:

Jorge Pérez

Si es necesario podemos predeterminar todos los parámetros en una función.

// cpp_69_parametros_variables.cpp
// Se ilustra el uso de parámetros predeterminados
// 2019, Por http://about.me/carlosgbr
// Versión 1
// Revisa todo el código del tutorial en: https://github.com/carlosgbr/
// Compilado en https://www.onlinegdb.com/online_c++_compiler

#include <string>
#include <iostream>

using namespace std;

int CalculaArea(int lado1 = 1, int lado2 = 4, int lado3 = 6)
{
return lado1 * lado2 * lado3;
}

int main()
{
int area = CalculaArea(2);
cout << area;

return 0;
}

Para llamar esta función podemos hacerlo de la siguiente manera:

area = CalculaArea(2, 3, 4);

Obteniendo como salida:

24

area = CalculaArea(2, 3);

Obteniendo como salida:

6

area = CalculaArea(2);

Obteniendo como salida:

2

area = CalculaArea();

Obteniendo como salida:

1

Para dejar completamente claro lo anteriormente expuesto, te mostramos una forma alternativa en que puedes observar como trabajan los argumentos predeterminados:

int CalculaArea(int lado1 = 5; int lado2 = 6; int lado3 = 7)
{
return lado1 * lado2 * lado3;

definiendo esta función tenemos:

CalculaArea(2, 3, 4) equivale a CalculaArea(2, 3, 4)
CalculaArea(2, 3) equivale a CalculaArea(2, 3, 7)
CalculaArea(2) equivale a CalculaArea(2, 5, 7)
CalculaArea() equivale a CalculaArea(6, 5, 7)

Te sugiero hacer los cambios sugeridos en el código y ejecutarlo antes de continuar.

Orden de los parámetros predeterminados

Probablemente ya inferiste un aspecto importante de los parámetros predeterminados.

Restricción en el orden de definición de los parámetros

Una restricción que debes considerar al definir los parámetros predeterminados es que solo puedes asignar las variables de derecha a izquierda y no puedes saltar parámetros si cuenta con varios.

int suma (int x, int y, int z=5)

int suma (int x, int y=7, int z = 8)

Las siguientes definiciones no son válidas.

int suma(int x =5, int y, int z)  //Error

int suma(int x, int y=8, int z)    //Error

Restricción en el orden de llamada de los parámetros

Los parámetros predeterminados se pueden omitir únicamente de derecha a izquierda, es decir puedes omitir todos los parámetros predeterminados de derecha a izquierda pero no de forma intercalada u omitiendo el primero, veamos algunos ejemplos con la última función definida.

int CalculaArea(int lado1 = 1; int lado2 = 1; int lado3 = 1; int lado4 = 1)

CalculaArea (2, 4, 5, 6) //Llamada Válida
CalculaArea (2) //Llamada Válida
CalculaArea (2, 4, , 6) //Llamada no Válida
CalculaArea (, 6) //Llamada no Válida
CalculaArea (, , 6) //Llamada no Válida
CalculaArea () //Llamada Válida

 

Si tienes alguna duda, plantéala en la sección de preguntas.


Ethical Hack

Referencias

  • “Todas las demás imágenes de esta sección”: by Nala Systems

Fuente Imágenes

  • “Todas las demás imágenes de esta sección”: by Nala Systems

Código Fuente

 


Valores predeterminados en Parámetros by Roberto C. González is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.

C++ nos permite asignar valores predeterminados a los argumentos que se pasan a una función, los valores predeterminados siempre serán los últimos, si un argumento se omite al llamar la función, se usará el valor predeterminado previamente definido.

Para definir valores predeterminados en la lista de parámetros, se realiza del mismo modo como se hace al hacerlo con valores predeterminados en las variables. Primero veamos un ejemplo utilizando los parámetros como hasta ahora hemos hecho.

#include <string>
#include <iostream>
using namespace std;

int capturaNombre(string Nombre, string Apellido)
{
cout << Nombre << " " << Apellido;
return 0;
}

int main()
{
capturaNombre("Jorge", "Ramirez");
return 0;
}

Al ejecutar este programa obtendremos la siguiente salida.

Juan Ramírez

Podemos predeterminar los valores en los argumentos definiendo los parámetros de esta forma:

int capturaNombre(string Nombre, string Apellido = "Pérez")

si hacemos este cambio en el programa inicial y lo ejecutamos, veremos que tenemos la misma salida. Sin embargo si llamamos a la función omitiendo el segundo parámetro veremos como se utiliza el valor predeterminado en el apellido.

 int main()
{
capturaNombre("Jorge");
return 0;
}

Al realizar este cambio obtendremos la siguiente salida:

Jorge Pérez

Si es necesario podemos predeterminar todos los parámetros en una función.

// cpp_69_parametros_variables.cpp
// Se ilustra el uso de parámetros predeterminados
// 2019, Por http://about.me/carlosgbr
// Versión 1
// Revisa todo el código del tutorial en: https://github.com/carlosgbr/
// Compilado en https://www.onlinegdb.com/online_c++_compiler

#include <string>
#include <iostream>

using namespace std;

int CalculaArea(int lado1 = 1, int lado2 = 4, int lado3 = 6)
{
return lado1 * lado2 * lado3;
}

int main()
{
int area = CalculaArea(2);
cout << area;

return 0;
}

Para llamar esta función podemos hacerlo de la siguiente manera:

area = CalculaArea(2, 3, 4);

Obteniendo como salida:

24

area = CalculaArea(2, 3);

Obteniendo como salida:

6

area = CalculaArea(2);

Obteniendo como salida:

2

area = CalculaArea();

Obteniendo como salida:

1

Para dejar completamente claro lo anteriormente expuesto, te mostramos una forma alternativa en que puedes observar como trabajan los argumentos predeterminados:

int CalculaArea(int lado1 = 5; int lado2 = 6; int lado3 = 7)
{
return lado1 * lado2 * lado3;

definiendo esta función tenemos:

CalculaArea(2, 3, 4) equivale a CalculaArea(2, 3, 4)
CalculaArea(2, 3) equivale a CalculaArea(2, 3, 7)
CalculaArea(2) equivale a CalculaArea(2, 5, 7)
CalculaArea() equivale a CalculaArea(6, 5, 7)

Te sugiero hacer los cambios sugeridos en el código y ejecutarlo antes de continuar.

Orden de los parámetros predeterminados

Probablemente ya inferiste un aspecto importante de los parámetros predeterminados.

Restricción en el orden de definición de los parámetros

Una restricción que debes considerar al definir los parámetros predeterminados es que solo puedes asignar las variables de derecha a izquierda y no puedes saltar parámetros si cuenta con varios.

int suma (int x, int y, int z=5)

int suma (int x, int y=7, int z = 8)

Las siguientes definiciones no son válidas.

int suma(int x =5, int y, int z)  //Error

int suma(int x, int y=8, int z)    //Error

Restricción en el orden de llamada de los parámetros

Los parámetros predeterminados se pueden omitir únicamente de derecha a izquierda, es decir puedes omitir todos los parámetros predeterminados de derecha a izquierda pero no de forma intercalada u omitiendo el primero, veamos algunos ejemplos con la última función definida.

int CalculaArea(int lado1 = 1; int lado2 = 1; int lado3 = 1; int lado4 = 1)

CalculaArea (2, 4, 5, 6) //Llamada Válida
CalculaArea (2) //Llamada Válida
CalculaArea (2, 4, , 6) //Llamada no Válida
CalculaArea (, 6) //Llamada no Válida
CalculaArea (, , 6) //Llamada no Válida
CalculaArea () //Llamada Válida

 

Si tienes alguna duda, plantéala en la sección de preguntas.


Ethical Hack

Referencias

  • “Todas las demás imágenes de esta sección”: by Nala Systems

Fuente Imágenes

  • “Todas las demás imágenes de esta sección”: by Nala Systems

Código Fuente

 


Valores predeterminados en Parámetros by Roberto C. González is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional License.
eHack Blog

Compartir
Publicado por
eHack Blog

Entradas recientes

dnsenum

El comando dnsenum es una herramienta de línea de comandos para realizar enumeración de DNS…

12 meses hace

Las 24 listas negras de IPv4 más comunes.

En esta entrada te presento 24 de las listas negras más comunes que los servidores…

2 años hace

ZoomIt – SysInternals

ZoomIt es una herramienta de anotación y zoom de pantalla para presentaciones técnicas que incluyen…

2 años hace

WinObj – SysInternals

WinObj es el visor de espacios de nombres de Object Manager definitivo. Es la primera…

2 años hace

WhoIs – SysInternals

Whois realiza el registro de registro para el nombre de dominio o la dirección IP…

2 años hace

VolumeID – SysInternals

VolumeID – Esta utilidad, le permite cambiar los identificadores de los discos FAT y NTFS…

2 años hace