Programar en C++ con varios módulos

Un programa C++ no solo se puede escribir en un único fichero .cpp. De hecho en la práctica no es así, ya que además del fichero .cpp, intervienen uno o más ficheros de cabecera. Por ejemplo, en el programa conversión de grados vemos que intervienen los ficheros main.cpp e iostream

modulos_1

…¿donde se encuentran los códigos de los elementos de la biblioteca C++? Por ejemplo el programa definido por main utiliza el objeto cout e invoca a funciones de la biblioteca C++ como cin, setw y setprecision, que no están en el fichero main.cpp.

Un fichero puede contener cualquier combinación de directrices para el compilador, declaraciones y definiciones. Pero una función o una clase, en general un bloque, no puede ser dividido entre dos ficheros fuente. Por otra parte, un fichero fuente no necesita contener sentencias ejecutables; esto es, un fichero fuente puede estar formado, por ejemplo, solamente por definiciones de variables que son utilizadas desde otros ficheros fuente.

Como ejemplo vamos a escribir el programa de conversión de grados de esta otra forma, es decir lo escribiremos en tres ficheros:

  • El fichero de cabecera misfunciones.h contendrá la declaración de la función convertir.
  • El fichero misfunciones.cpp contendrá la definición de la función convertir.
  • El fichero main.cpp contendrá, además de la función main, otras declaraciones que sean necesarias.

Empecemos escribiendo primero el fichero llamado misfunciones.h:

misfunciones_h_listado

A continuación, escriba este otro código en un fichero llamado misfunciones.cpp.

misfunciones_cpp_listado

Finalmente, escriba el código siguiente en el fichero main.cpp.

main_cpp_listado

Compilamos el programa formado por varios ficheros:

main_salida

atras2

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s