• Viernes 8 de Noviembre de 2024, 20:52

Autor Tema:  Como Utilizo Un Registro De Una Clase En Otra Clas  (Leído 981 veces)

juniper83

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Como Utilizo Un Registro De Una Clase En Otra Clas
« en: Domingo 29 de Julio de 2007, 18:19 »
0
:(
Es una duda facil, es la primera vez que tengo que hacer un proyecto un poco mas grande de lo normal, tengo definidas muchas clases en mi proyecto, en una de ellas  llamada CLEnlace tengo definido
  struct TEnlace {
        CEnlace *penlace;
        TEnlace *sig;
    }   
     TEnlace *Tlista2;

en otra clase yo necesito utilizar Tlista2 y pongo:

CLEnlace::Tlista2 lista2 ;

y me da error al compilar, las dos estan en la parte publica, y no puedo seguir con esto pues no paso de aqui, si alguien me explica como utilizar registros o vbles de una clase en otra lo agradeceria mucho. El error que me da es que Tlista2 no esta definido como un tipo y aunque me vaya a la clase y lo defina como tipo luego da el error parse before token ::

Castord

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Como Utilizo Un Registro De Una Clase En Otra Clas
« Respuesta #1 en: Miércoles 1 de Agosto de 2007, 21:23 »
0
veo que le falta el punto y coma al final de la declaracion de la estrutura...

la estructura esta declarada en el ambito publico?

Si el objeto se destruye al finalizar la instacia el puntero sera null y no podras hacer una referencia valida

no podes crear una instancia a partir de un puntero
en tu codigo veo...
Código: Text
  1.  TEnlace *Tlista2;
  2.  
que declaras a Tlista2 como puntero a TEnlace pero Tlista2 no tiene ninguna direccion valida de un objeto previamente declarado en memoria, algo como:
Código: Text
  1. TEnlace obj;
  2.          Tlista2=&obj;
  3.  
  4.  
para luego apuntar a su miembro publico de la forma
Tlista2->blabla
puede que esto sea
Código: Text
  1. CLEnlace::TEnlace lista2
  2.  
una instancia valida
pero te recomiento que tengas la arquitectura de la estructura un archivo .h para que las demas clases tengan acceso a él y si necesitas que varias clases tengan acceso a sus datos sin crear nuevas instancias (elevar un puntero a la memoria), codifiques metodos para las clases que lo llaman, algo asi como un GetPrevInstance()