31/03/2014, 12:48
|
| | Fecha de Ingreso: junio-2008 Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 6 meses Puntos: 61 | |
Respuesta: Problemas con declaración adelantada El compilador necesita saber SIEMPRE el tamaño de los objetos que manejas y si hay conversiones que hacer (y un largo etcetera). Si sigues esta regla, es mas sencillo entender por qué el error en un caso y en el otro no.
Al hacer
class XXX;
solo dices que el nombre XXX existe, sin mucho mas informacion.
Solo seria util en el caso que uses un puntero a XXX, donde el tamaño (de un puntero) no depende del tamaño de XXX.
Lamentablemente no es el caso, tienes metodos que retornan un objeto de tipo Cadena, y estas guardando dentro de la otra clase, en un miembro, un objeto de tipo Cadena. ¿Como podria calcularse el tamaño de un objeto de la clase Clave sin saberse el tamaño de la clase Cadena?. No es posible -> error.
Cuando usas #include "cadena.h" traes hacia el compilador, antes de compilar la clase Clave, el contenido de la clase Cadena, por lo que es posible conocer el tamaño de ella y con ello sera posible calcular el tamaño de Clave, ademas de todas las operaciones y conversiones y el etcetera asociado.
__________________ Visita mi perfil en LinkedIn |