Menu
Coddy logo textTech

Configuração do Projeto

Parte da seção Programação Orientada a Objetos do Journey de C da Coddy. Lição 22 de 61.

challenge icon

Desafio

Fácil

Vamos começar a construir sua biblioteca de Conta Bancária! Nesta primeira etapa, você criará a interface pública: o arquivo de cabeçalho que define quais operações existem sem revelar nenhum detalhe de implementação.

Você criará dois arquivos para estabelecer a base do projeto:

  • account.h: seu arquivo de cabeçalho público. É isso que os usuários da sua biblioteca incluirão. Declare um tipo opaco Account usando uma declaração de tipo incompleta: sem o corpo da struct, apenas uma declaração antecipada que informa ao compilador que o tipo existe. Em seguida, declare os protótipos das funções create_account (recebe um inteiro como ID da conta e retorna um ponteiro para Account) e destroy_account (recebe um ponteiro para Account e não retorna nada). Não se esqueça das proteções contra inclusão múltipla usando o símbolo ACCOUNT_H.
  • main.c: um arquivo de teste simples para verificar se o cabeçalho compila corretamente. Inclua seu cabeçalho e imprima uma mensagem confirmando que a interface está pronta. Como ainda não implementamos as funções, basta imprimir uma mensagem de confirmação: a implementação real virá na próxima lição.

A principal ideia aqui é que seu cabeçalho revela o que o módulo Account pode fazer (criar e destruir contas) sem mostrar como ele armazena os dados internamente. Qualquer pessoa que incluir account.h saberá que existe um tipo Account e quais funções estão disponíveis, mas não poderá acessar nenhum campo interno, porque você ainda não definiu nenhum no cabeçalho!

Seu arquivo principal deve produzir:

Account interface ready

Isso prepara o caminho para o sistema completo de Conta Bancária que você construirá nas próximas lições. O cabeçalho que você criar agora será ampliado para incluir deposit, withdraw e get_balance à medida que você avançar no projeto.

Experimente você mesmo

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

int main() {
    // TODO: Imprima uma mensagem confirmando que a interface está pronta
    // The message should be: "Account interface ready"
    
    return 0;
}

Todas as lições de Programação Orientada a Objetos

Pratique por conta própria: Compilador de C online