• Viernes 8 de Noviembre de 2024, 06:52

Autor Tema:  Cabecera en ficheros .h y .cpp  (Leído 2416 veces)

paranoiamaria

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Cabecera en ficheros .h y .cpp
« en: Miércoles 23 de Julio de 2008, 16:46 »
0
Hola,

Tengo que programar una aplicación y el diseño incluye clases. Tengo una duda, que no he conseguido aclarar buscando por la web,  no sé la diferencia entre insertar las cabeceras #include<> en el fichero .h o en el .cpp de una clase. Tanto si los incluyo en el .h como en el .cpp compila, pero me gustaría saber la diferencia y qué es más eficiente.
Otra cosilla, ¿es obligatorio insertar en el fichero miClase.cpp la directiva #include <miClase.h>?

Muchas gracias por adelantado

Elforious

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Cabecera en ficheros .h y .cpp
« Respuesta #1 en: Miércoles 23 de Julio de 2008, 19:16 »
0
Para mi es más eficiente colocar los #iclude<> en el .h, por el hecho de que los tenés que poner entre los if:

Código: Text
  1. #ifndef Unit1H
  2. #define Unit1H
  3. //---------------------------------------------------------------------------
  4. #iclude<...>
  5. #iclude<...>
  6. #iclude<...>
  7. //---------------------------------------------------------------------------
  8. #endif
  9.  

y así tu ejecutable va a ser más liviano (eso creo), por que no va a compilar el mismo código de la misma unidad más de una vez.

Citar
¿es obligatorio insertar en el fichero miClase.cpp la directiva #include <miClase.h>?

Si, si tienes funciones declaradas en el .cpp que están definidas en el .h , y además estás llamando desde otra unidad.

Espero haber ayudado.

paranoiamaria

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Cabecera en ficheros .h y .cpp
« Respuesta #2 en: Jueves 24 de Julio de 2008, 11:34 »
0
Muchas gracias por la respuesta, ha sido de gran utilidad.

Un Saludo