Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/11/2011, 07:25
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Relaciones Cíclicas entre clases

Esto es asi. Primeros debes separar la implementacion de la declaracion. Separa bien lo que son los .h de los .cpp

Otro paso es usar las macros en los .h para evitar la declaraciones ciclicas. Ejemplo:

Código C++:
Ver original
  1. #ifndef HOLA
  2. #define HOLA
  3.  
  4. class A {}
  5.  
  6. #endif

Luego en cada archivo de cabecera incluir el correpondiente archiv .h necesario y pero en uno de ellos hay que agregar una simple declaracion de clase: class A;

Código C++:
Ver original
  1. #ifndef CLASE_A
  2. #define CLASE_A
  3.  
  4. #include "B.h"
  5. class B;
  6. class A {
  7.     B * b;
  8.  
  9. }
  10.  
  11. #endif

Código C++:
Ver original
  1. #ifndef CLASE_B
  2. #define CLASE_B
  3. #include "C.h"
  4. class C;
  5. class B {
  6.      C * c;
  7. }
  8.  
  9. #endif

Código C++:
Ver original
  1. #ifndef CLASE_C
  2. #define CLASE_C
  3. #include "A.h"
  4. class A;
  5.  
  6. class C {
  7.      A * a;
  8. }
  9.  
  10. #endif

Una vez tuve este problema y creo haberlo resuelto asi. Ahora no me puedo fijar...mas tarde me fijo bien. Prueba con esta opcion mientras.