Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/11/2011, 12:43
mgb89
 
Fecha de Ingreso: noviembre-2011
Ubicación: Murcia
Mensajes: 11
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Relaciones Cíclicas entre clases

Voy a poner un ejemplo porque el programa que estoy usando ya es bastante grande y así creo que se verá más fácil:

En un archivo distinto creo el main del programa:
Ahí declaro un objeto de tipo A.
------------------------------------------------------------
main.cpp:


#include "A.h"

A objeto1;

int main()
{


return 0;
}
------------------------------------------------------------

En A.h tenemos un objeto de tipo B

-----------------------------------------------------------
A.h:


#ifndef CLASE_A
#define CLASE_A

#include "B.h"

class B;

class A {

B * objeto2;

}

#endif
-----------------------------------------------------------

Y en la clase B declaramos un método que, por ejemplo, suma 1 a una variable de la clase:

-----------------------------------------------------------
B.h:

#ifndef CLASE_B
#define CLASE_B
#include "C.h"
class C;
class B {

int n = 0;
void sumar();

C * c;

}

#endif
-----------------------------------------------------------

La clase C sigue igual.

Para llamar desde el main al método sumar() de la clase B tendría que ser a través del objeto de tipo A. Yo he probado haciéndolo así:

(*(*objeto1).objeto2).sumar();

y compilaba sin problemas, pero a la hora de ejecutar me salía una Violación de Segmento, ¿dónde está el fallo?