Menu
Coddy logo textTech

Configuración del proyecto

Parte de la sección Object Oriented Programming del Journey de C de Coddy — lección 22 de 61.

challenge icon

Desafío

Fácil

¡Comencemos a construir tu librería de Cuenta Bancaria! En este primer paso, crearás la interfaz pública: el archivo de cabecera que define qué operaciones existen sin revelar ningún detalle de implementación.

Crearás dos archivos para establecer la base del proyecto:

  • account.h: Tu archivo de cabecera público. Esto es lo que incluirán los usuarios de tu librería. Declara un tipo Account opaco utilizando una declaración de tipo incompleta: sin cuerpo de struct, solo una declaración anticipada que le indica al compilador que el tipo existe. Luego, declara los prototipos de función para create_account (toma un entero para el ID de la cuenta y devuelve un puntero Account) y destroy_account (toma un puntero Account y no devuelve nada). No olvides los protectores de inclusión (include guards) utilizando el símbolo ACCOUNT_H.
  • main.c: Un archivo de prueba simple para verificar que tu cabecera compila correctamente. Incluye tu cabecera e imprime un mensaje confirmando que la interfaz está lista. Dado que aún no hemos implementado las funciones, simplemente imprime un mensaje de confirmación; la implementación real vendrá en la próxima lección.

La idea clave aquí es que tu cabecera revela qué puede hacer el módulo Account (crear y destruir cuentas) sin mostrar cómo almacena los datos internamente. Cualquiera que incluya account.h sabrá que existe un tipo Account y qué funciones están disponibles, pero no podrá acceder a ningún campo interno, ¡porque no has definido ninguno en la cabecera!

Tu archivo principal debería mostrar:

Account interface ready

Esto prepara el escenario para el sistema completo de Cuenta Bancaria que construirás a lo largo de las próximas lecciones. La cabecera que crees ahora crecerá para incluir deposit, withdraw y get_balance a medida que progreses en el proyecto.

Pruébalo tú mismo

#include <stdio.h>
#include "account.h"

int main() {
    // TODO: Imprime un mensaje confirmando que la interfaz está lista
    // El mensaje debe ser: "Account interface ready"
    
    return 0;
}

Todas las lecciones de Object Oriented Programming