SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: josean86 en Jueves 3 de Diciembre de 2009, 16:00

Título: Clases auto incluidas
Publicado por: josean86 en Jueves 3 de Diciembre de 2009, 16:00
Hola,
necesito ayuda para crear clases que sigan el siguiente patron:

Código: C++
  1.  class ClaseA{
  2.     double a;
  3.     ClaseB eltoB;
  4. };
  5.  
  6. class ClaseB{
  7.     double b;
  8.     ClaseA eltoA;
  9. };
  10.  
  11. int main(){
  12. }
  13.  

Es decir, que la claseA contenga un atributo que es un objeto de la claseB, y al mismo tiempo que  que la claseB contenga un atributo que es un objeto de la claseA. El codigo que he puesto da error en la linea 3:

main.cc:6: error: ‘ClaseB’ does not name a type

¿alguna idea?¡gracias!
Título: Re: Clases auto incluidas
Publicado por: Eternal Idol en Jueves 3 de Diciembre de 2009, 16:26
Proba poniendo lo siguiente antes de la clase A:

Código: C++
  1. class ClaseB;
  2.  

Igual no le veo mucha logica a esto ... ni siquiera usando punteros ...
Título: Re: Clases auto incluidas
Publicado por: josean86 en Jueves 3 de Diciembre de 2009, 16:37
Gracias Eternal Idol, he probado lo que me has dicho:
Código: C++
  1. class ClaseB;
  2.  
  3. class ClaseA{
  4.     double a;
  5.     ClaseB eltoB;
  6. };
  7.  
  8. class ClaseB{
  9.     double b;
  10.     ClaseA eltoA;
  11. };
  12.  
  13. int main(){
  14. }
  15.  

Y tambien me ha dado error, pero diferente: main.cc:6: error: field ‘eltoB’ has incomplete type
Pero he probado a poner punteros (en realidad era eso lo que necesitaba, pero por simplificar habia escrito lo otro), asi que ha quedado:
Código: C++
  1. class ClaseB;
  2.  
  3. class ClaseA{
  4.     double a;
  5.     ClaseB* eltoB;
  6. };
  7.  
  8. class ClaseB{
  9.     double b;
  10.     ClaseA* eltoA;
  11. };
  12.  
  13. int main(){
  14. }
  15.  

Y con esto a compilado bien :), voy a hacer pruebas a ver si esta todo bien correcto.
Muchas gracias

--------------------------------------------------
Edito
--------------------------------------------------
Ya he hecho las pruebas pertinentes, y funciona todo perfecto, gracias de nuevo
Título: Re: Clases auto incluidas
Publicado por: Eternal Idol en Jueves 3 de Diciembre de 2009, 17:15
De nadas  :beer: