• Viernes 8 de Noviembre de 2024, 21:44

Autor Tema:  Como Hago Para Retornar Varios Valores???  (Leído 6655 veces)

carlounis

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Como Hago Para Retornar Varios Valores???
« en: Lunes 11 de Octubre de 2004, 03:08 »
0
Quiero que una función me devuelva varios valores para poder ser usados en otras funciones a su vez. No sé si esto solamente se podría hacer usando variables globales.

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Como Hago Para Retornar Varios Valores???
« Respuesta #1 en: Lunes 11 de Octubre de 2004, 03:12 »
0
lo que puedes hacer es enviarles parametros por referencia y no por valor, me entiendes.......?

por valor:
Citar
int sumar(int a, int B)

por referencia:
Citar
int sumar(int &a, int&b)

hace tiempo que uso el C++, espero que sea asi......


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

carlounis

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Como Hago Para Retornar Varios Valores???
« Respuesta #2 en: Lunes 11 de Octubre de 2004, 03:26 »
0
no te entiendo, podrías ser un poco más explícito?Como los devuelvo luego?

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Como Hago Para Retornar Varios Valores???
« Respuesta #3 en: Lunes 11 de Octubre de 2004, 06:11 »
0
existen dos tipos de envios de variables a una funcion:

Por valores: las variables que envias no cambian su valor si son cambiadas en la funcion.
forma:
Citar
void doblar( int a, int B);

Por referencia: las variables que envias cambian su valor si son cambiadas en la funcion.
forma:
Citar
void doblar( int &a, int &b);
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

SUPER_X

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Como Hago Para Retornar Varios Valores???
« Respuesta #4 en: Lunes 11 de Octubre de 2004, 12:55 »
0
La idea es la siguiente.
Si los valores que querés devolver son solo para ser devueltos, podés devolver un registro o un arreglo definido anteriormente, del tipo.

struct resultado {tipo1 var1; ... ; tipon varn;};
resultado funcion(){ resultado aux; ... cargás el aux; ... return aux;};

Eso es devolver muchos valores, otra forma, es declarar las variables en las que querés almacenar los valores fuera de la función y pasarlas como referencia. La diferencia es que c cuando vos le pasás un parámetro, la función crea una variable y copia los valores de la variable que le pasaste, al ponerle un & antes de la variable, le avisás que tome no la variable sino la dirección de la misma. Pudiendo así acceder así de forma directa a las variables y modificarlas dentro de tu función y guardando esos cambios en las variables.
En un caso común, los cambios realizados en las variables quedarían obsoletos, ya que la variable creada en base al parámetro que le pasaste pierde ámbito cuando termina la llamada a la función.

carlounis

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Como Hago Para Retornar Varios Valores???
« Respuesta #5 en: Lunes 11 de Octubre de 2004, 17:07 »
0
gracias,probare con ambas cosas