Múltiples archivos de código en C++

Muhammad Husnain 12 octubre 2023
Múltiples archivos de código en C++

Este tutorial trata sobre el uso de múltiples archivos en su único programa C++. Escribir todo su código en un solo archivo se vuelve engorroso para proyectos más grandes y largos, por lo que aprenderemos cómo separar archivos en un proyecto y hacerlo más manejable y fácil de refactorizar.

Has escrito todo tu código en un solo archivo hasta este punto de tu carrera como programador. Lo tenía todo: la función principal, prototipos, funciones del sistema, funciones extra, ¡todo!

Este no es el mejor método para ensamblar un proyecto de programación (grande). Aprenderá a dividir su proyecto de programación en varios archivos para hacerlo más organizado, seguro, portátil, modificable y más rápido de recompilar.

Hay muchas razones detrás de esto, pero no podemos entrar en detalles debido a la sobrecarga de tiempo e información.

Usar varios archivos de código en un programa C++

Comenzaremos con un archivo de ejemplo que tiene todo en un solo archivo y luego lo separaremos.

Código de ejemplo:

#include <iostream>
using namespace std;

void helloFunc();
int main() {
  helloFunc();
  return 0;
}
void helloFunc() { cout << "Hello World" << endl; }

En este fragmento de código, puede ver que primero declaramos la función helloFunc() y luego la definimos en una etapa posterior del programa. Entonces, hemos escrito la función main.

Esto se puede hacer en tres archivos. Declararemos la función en el archivo de cabecera y la definiremos en el archivo cpp.

Código de ejemplo (hola.h):

#include <iostream>
using namespace std;

void helloFunc();

Código de ejemplo (hola.cpp):

#include "hello.h"
void helloFunc() { cout << "Hello World" << endl; }

Código de ejemplo (main.cpp):

#include "hello.h"

int main() {
  helloFunc();
  return 0;
}

Empecemos con el archivo de cabecera hello.h. Los archivos de encabezado contienen las definiciones de todo, como definiciones de funciones, cualquier definición de estructura o clase, o cualquier definición de constantes.

Esta extensión .h le dice al compilador que este archivo no debe compilarse; es como un archivo de texto y cualquier persona puede leerlo. Esto implica que el archivo de encabezado es un archivo de documentación.

Si algún programador quiere usar algunas funciones en el futuro, solo necesita verificar el prototipo de las funciones y no necesita entrar en detalles sobre las definiciones de funciones. Por último, el código de la plantilla también debe estar en el archivo de encabezado.

Ahora viene el archivo cpp, que contiene la definición de función declarada en el archivo de cabecera. El archivo CPP le dice al compilador que este archivo debe compilarse y convertirse en un archivo binario.

La integridad de su código está protegida y nadie más puede modificarlo sin su permiso. Esto significa que esta separación de código también garantiza la seguridad de sus archivos de código.

Otra razón detrás de esta técnica es la portabilidad; por ejemplo, ha escrito un código de búsqueda binaria que se puede usar más tarde en muchos otros programas. Si tiene estos archivos separados para funciones, puede usarlas fácilmente en cualquier otro proyecto.

Por último, el archivo principal contiene solo la función main e incluye el archivo de encabezado en la parte superior. Este archivo contiene solo la función main, que solo llama a todas las funciones y nada más.

Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn

Artículo relacionado - C++ File