Menu
Coddy logo textTech

Construcción y compilación en C++

Parte de la sección Programación Orientada a Objetos del Journey de C++ de Coddy — lección 2 de 104.

C++ se construye en tres etapas: Preprocesamiento, Compilación y Enlazado.

1. Preprocesamiento — se resuelven las directivas #include, copiando el contenido de las cabeceras en los archivos fuente

#include <iostream>    // Cabecera del sistema
#include "my_file.h"   // Tu propia cabecera

2. Compilación — Cada archivo .cpp se compila de forma independiente en un archivo objeto (.o)

// math_utils.cpp se compila en math_utils.o
// main.cpp se compila en main.o

3. Enlazado — Los archivos objeto se combinan en el ejecutable final

// math_utils.o + main.o → program.exe

El archivo de cabecera declara lo que existe (prototipos). El archivo .cpp proporciona la implementación real. El enlazador conecta las llamadas en main.cpp con las implementaciones en otros archivos .cpp.

challenge icon

Desafío

Intermedio

El archivo de cabecera math_utils.h declara dos funciones. Impleméntalas en math_utils.cpp:

  • doubleValue(int x) — devuelve x * 2
  • square(int x) — devuelve x * x

Asegúrate de incluir el archivo de cabecera en tu archivo .cpp.

Hoja de referencia

C++ se compila en tres etapas: Preprocesamiento, Compilación y Enlazado.

Preprocesamiento — se resuelven las directivas #include, copiando el contenido de las cabeceras en los archivos fuente:

#include <iostream>    // Cabecera del sistema
#include "my_file.h"   // Tu propia cabecera

Compilación — Cada archivo .cpp se compila de forma independiente en un archivo objeto (.o):

// math_utils.cpp se compila en math_utils.o
// main.cpp se compila en main.o

Enlazado — Los archivos objeto se combinan en el ejecutable final:

// math_utils.o + main.o → program.exe

El archivo de cabecera declara lo que existe (prototipos). El archivo .cpp proporciona la implementación real. El enlazador conecta las llamadas en main.cpp con las implementaciones en otros archivos .cpp.

Pruébalo tú mismo

#include <iostream>
#include "math_utils.h"

int main() {
    int num;
    std::cin >> num;
    
    std::cout << "Double: " << doubleValue(num) << std::endl;
    std::cout << "Square: " << square(num) << std::endl;
    std::cout << "Build successful" << std::endl;
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación Orientada a Objetos