Argumentos implícitos
Publicado por Franco (36 intervenciones) el 16/07/2005 07:16:28
Hola,
Ante lo maravilloso que me parecen los argumentos implícitos estuve imaginando en una posibilidad. Veamos:
#include <iostream>
#include <stdio.h>
#include <conio.h>
void funcion(int a=0, int b=0)
{
cout<<" a: ";
cout.width(3);
cout<<a;
cout<<" b: ";
cout.width(3);
cout<<b;
cout<<"\n";
}
void main()
{
cout<<"sin datos de entrada --> ";
funcion();
cout<<"con un dato de entrada --> ";
funcion(10);
cout<<"con dos datos de entrada --> ";
funcion(20,30);
getch();
}
Ahora, sería interesante que cuando ingresamos un sólo parámetro, el argumento que se ingrese sea el segundo. Veo que, por omisión, al indicar un sólo parámetro este es asignado a la primera variable.
Entiendo que el programador puede invertir el orden de las variables en la entrada de su método ( procedimiento o función ) y obtener lo que propongo.
Pero qué hacemos cuando tenemos 3 variables. En Pascal recuerdo que yo manejaba el input y el output de forma manual con la función ParamCount que devuelve el número de parámetros ingresados, así yo tomo las decisiones sobre qué hacer en cada caso. En C++ debe haber algo parecido y tal vez tb debe haber alguna forma de darle preferencia a alguna de las variables (no por el orden en el input).
Saludos
Ante lo maravilloso que me parecen los argumentos implícitos estuve imaginando en una posibilidad. Veamos:
#include <iostream>
#include <stdio.h>
#include <conio.h>
void funcion(int a=0, int b=0)
{
cout<<" a: ";
cout.width(3);
cout<<a;
cout<<" b: ";
cout.width(3);
cout<<b;
cout<<"\n";
}
void main()
{
cout<<"sin datos de entrada --> ";
funcion();
cout<<"con un dato de entrada --> ";
funcion(10);
cout<<"con dos datos de entrada --> ";
funcion(20,30);
getch();
}
Ahora, sería interesante que cuando ingresamos un sólo parámetro, el argumento que se ingrese sea el segundo. Veo que, por omisión, al indicar un sólo parámetro este es asignado a la primera variable.
Entiendo que el programador puede invertir el orden de las variables en la entrada de su método ( procedimiento o función ) y obtener lo que propongo.
Pero qué hacemos cuando tenemos 3 variables. En Pascal recuerdo que yo manejaba el input y el output de forma manual con la función ParamCount que devuelve el número de parámetros ingresados, así yo tomo las decisiones sobre qué hacer en cada caso. En C++ debe haber algo parecido y tal vez tb debe haber alguna forma de darle preferencia a alguna de las variables (no por el orden en el input).
Saludos
Valora esta pregunta


0