Foro con Clase C/C++
Archivos .h y .cc
Oriol
Nº de hilos:3
Nº de mensajes:6
lunes, 28 de junio de 2021
Buenas,
Mirando programas de otras personas, he visto que la declaración de las clases las guardan en un archivo .h y la declaración de los métodos de estas clases en un archivo con el mismo nombre pero .cc . ¿Por qué se hace así?
Muchas gracias.
Salvador Pozo
Nº de hilos:0
Nº de mensajes:25
lunes, 28 de junio de 2021
Hola:
Cuando un programa empieza a ser un poco grande se suele dividir en partes más o menos independientes. Esto proporciona algunas ventajas:
1.- Cada parte se puede diseñar, desarrollar y depurar por separado, o incluso por diferentes programadores.
2.- No será necesario compilar todo el código fuente cada vez que se modifique o se añada algo al programa, bastará con compilar sólo los ficheros fuente que se hayan modificado.
3.- Cada parte puede ser usada en otros programas.
Sin embargo, si en un fichero fuente defines una clase que necesitas usar en otro fichero fuente será necesario tener acceso a la declaración de esa clase, y por eso se separan en ficheros diferentes las declaraciones (ficheros .h) y las definiciones (ficheros .cpp o .cc).
Es lo mismo que pasa con las librerías. Cada vez que en un programa necesitamos acceder a clases, funciones o tipos de datos definidos en una librería tenemos que incluir el fichero de cabecera correspondiente, en el cual se declaran clases, funciones y tipos. La diferencia es que no necesitamos el fichero con las definiciones, ya que el enlazador usará directamente el código objeto, que será un fichero .lib, .a o .o, dependiendo de cada caso.
Aunque la aplicación no sea un gran proyecto, es buena práctica separar diferentes partes del código en distintos ficheros, ya que esto hace más manejable el código. Será más fácil localizar la definición de un método de una clase si cada clase (o subconjunto de clases) está en un fichero diferente, y el tiempo de compilación será menor si no es necesario recompilar todos los ficheros cada vez que se modifique el programa.
Hasta pronto.
Oriol
Nº de hilos:3
Nº de mensajes:6
martes, 29 de junio de 2021
Muchas gracias.