Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Devolver varios valores en una función c++ (https://www.clubdelphi.com/foros/showthread.php?t=80378)

LuisMiguel 23-09-2012 00:32:01

Devolver varios valores en una función c++
 
Saludos Amigos
Me gustaria que me aclararan lo siguiente:
como puedo hacer que una función devuelva varios valores, y despues de llamar a esa funcion como hago para que cada valor se guarde en una variable ya declarada, muestro lo que tengo:
Tengo la siguiente clase:
Código:

class Persona{
    private:
    -------//Aqui estan todos los atributos
    public:
    Persona(){
    } 
 
    String BuscarSexo(String);
};

//En la implementacion cpp
Código:

String Persona::BuscarSexo(String Sexo) {
  Form2->ADOQueryBuscarPadres->Active = false;
  Form2->ADOQueryBuscarPadres->SQL->Clear();
  String SQLSexo = "select * from persona where Sexo="+Sexo;
  Form2->ADOQueryBuscarPadres->SQL->Add(SQLSexo);
  Form2->ADOQueryBuscarPadres->Open();
  String  CI=Form2->ADOQueryBuscarPadres->FieldByName("CI")->AsString;
  int  Anno=Form2->ADOQueryBuscarPadres->FieldByName("Anno")->AsInteger;
  return Anno,CI;

Como ven hay 2 valores con los que quisiera trabajar en otro formulario(CI,Anno)
Estuve probando de esta forma pero solo me devuelve un valor y no creo que sea la forma correcta,estuve probando hacerlo con apuntadores pero no di con la solucion
Código:

Paloma * PalomaA = new Paloma;
String x = PalomaA->BuscarpalomaSexo(Sexo);

Gracias de antemano

LuisMiguel 23-09-2012 00:36:11

Disculpen,aqui puse lo que no era!.
Código:

Persona * PersonaA = new Persona;
String x = PersonaA->BuscarSexo(Sexo);


escafandra 23-09-2012 01:25:31

Pasa uno por referencia, por ejemplo Anno:

Código:

String Persona::BuscarSexo(String Sexo, int &Anno)
{
  .........
  Anno=Form2->ADOQueryBuscarPadres->FieldByName("Anno")->AsInteger;
  return Form2->ADOQueryBuscarPadres->FieldByName("CI")->AsString;
}


Saludos.

LuisMiguel 23-09-2012 01:48:35

Eso estaba tratando de hacer pero aun no lo logro, podria indicarme como quedaria el codigo completo despues de pasar el parametro por referencia, ese parametro tambien va incluido en el metodo de la clase?

escafandra 23-09-2012 04:23:47

La función estaría declarada como:
Código:


class Persona{
    ........
  public:
  String BuscarSexo(String Sexo, int &Anno);
    ........
};

y luego...
Código:


String Persona::BuscarSexo(String Sexo, int &Anno)
{
  Anno = 2012;
  Return "Eureca";
}


Saludos.


La franja horaria es GMT +2. Ahora son las 02:39:32.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi