SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: josean86 en Jueves 3 de Diciembre de 2009, 16:00
-
Hola,
necesito ayuda para crear clases que sigan el siguiente patron:
class ClaseA{
double a;
ClaseB eltoB;
};
class ClaseB{
double b;
ClaseA eltoA;
};
int main(){
}
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!
-
Proba poniendo lo siguiente antes de la clase A:
Igual no le veo mucha logica a esto ... ni siquiera usando punteros ...
-
Gracias Eternal Idol, he probado lo que me has dicho:
class ClaseB;
class ClaseA{
double a;
ClaseB eltoB;
};
class ClaseB{
double b;
ClaseA eltoA;
};
int main(){
}
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:
class ClaseB;
class ClaseA{
double a;
ClaseB* eltoB;
};
class ClaseB{
double b;
ClaseA* eltoA;
};
int main(){
}
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
-
De nadas :beer: