C/Visual C - Argumentos implícitos

 
Vista:

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

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder