C/Visual C - Pregunta sobre clases

 
Vista:

Pregunta sobre clases

Publicado por Oliver++ (339 intervenciones) el 02/06/2004 03:54:15
me está sucediendo lo sig. Tengo dos clases que se usan mutuamente y una de ellas me tira un error de que no está definida la segunda.
class ClaseB;
class ClaseA
{
public:
int a;
ClaseB var;
};

class ClaseB
{
public:
int a;
ClaseA var;
};

esto no me compila y no sé por qué si tengo declaración anticipada.
si alguien me puede dar una idea se lo agradeceré.
gracias.-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pregunta sobre clases

Publicado por chuidiang (677 intervenciones) el 02/06/2004 09:31:04
Buenas Oliver, cuánto tiempo.

No compila porque ClaseA tiene una instancia de ClaseB y aunque está declarada por anticipado, todavia no sabe qué tamaño tiene, asi que el compilador no puede construir ClaseA.

Eso te funcionaría si usaras un puntero en vez de una instancia

class ClaseB;
class ClaseA
{
public:
int a;
ClaseB *var;
};

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta sobre clases

Publicado por Oliver++ (339 intervenciones) el 03/06/2004 04:03:10
lo estube probando y funciona pero cuando intento instanciar un objeto dinamicamente en el constructor entonces me da el mismo error. Que puedo hacer en este caso?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta sobre clases

Publicado por chuidiang (677 intervenciones) el 03/06/2004 09:04:14
Si el código del constructor está en un .cpp separado del .h, no deberías tener problemas.
Si no es así, pon aquí el código para echarle un ojo.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar