[C con Clase] Referencias a objetos

Reinel Hernández Peraza reinel en uci.cu
Lun Dic 11 14:04:51 CET 2006


Hola amigos de la lista

 

//  *** DEFINICION DE MI CLASE CPATIO *** //

class cPatio {

  private:

    float mArea;

    cPerro *MisPerros;

    cGato *MisGatos;

 

  public:

    cPatio(float pArea);

    void Get_Datos_Patio();

    void Set_Area(float pArea);

    void Set_Crea_Perros(int pCant);

    void Set_Crea_Gatos(int pCant);

    cPerro &Get_Perro(int i)

    {

      return *(MisPerros[i]);

    }

    cGato &Get_Gato(int i)

    {

      return *(MisGatos[i]);

    }

 

};

 

cPatio::cPatio(float pArea): mArea(pArea) {}

 

void cPatio::Set_Area(float pArea)

{

  mArea = pArea;

}

 

void cPatio::Set_Crea_Perros(int pCant)

{

  MisPerros = new cPerro[pCant];

}

 

void cPatio::Set_Crea_Gatos(int pCant)

{

  MisGatos = new cGato[pCant];

}

 

void cPatio::Get_Datos_Patio()

{

  printf("** DATOS DEL PATIO ** DATOS DEL PATIO **\n");

  printf("** | Area: %6.2f\n", mArea);

  printf("** DATOS DEL PATIO ** DATOS DEL PATIO **\n");

}

 

Esta es la definición de mi clase cpatio. Estoy intentando devolver la referencia a los objetos cPerro, y cGato que son miembros de mi clase cPatio, pero me marca errores, tanto si uso:

return *(MisPerros[i]);

como si uso:

return *MisPerros[i];

 

me temo que debe ser por la manera en que estoy creando en TE mis objetos, cuyos métodos son:

 

void cPatio::Set_Crea_Perros(int pCant)

{

  MisPerros = new cPerro[pCant];

}

 

void cPatio::Set_Crea_Gatos(int pCant)

{

  MisGatos = new cGato[pCant];

}

 

Me pueden ayudar.

Gracias por todo.

 

Reinel Hernández Peraza

Técnico Hardware Docente 3

Universidad Ciencias Informáticas.

"Vivimos para hacer historias, o para ser historia"

 

 

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20061211/a79846b5/attachment.html>


Más información sobre la lista de distribución Cconclase