Menu
Coddy logo textTech

Настройка проекта

Часть раздела Object Oriented Programming путешествия по C на Coddy — урок 22 из 61.

challenge icon

Задание

Легко

Давайте начнем создавать вашу библиотеку банковских счетов! На этом первом этапе вы создадите публичный интерфейс — заголовочный файл, который определяет существующие операции, не раскрывая никаких деталей реализации.

Вы создадите два файла, чтобы заложить основу проекта:

  • account.h: Ваш публичный заголовочный файл. Это то, что будут подключать пользователи вашей библиотеки. Объявите непрозрачный тип Account, используя неполное объявление типа — без тела структуры, просто предварительное объявление (forward declaration), которое сообщает компилятору, что такой тип существует. Затем объявите прототипы функций для create_account (принимает целое число для идентификатора счета и возвращает указатель на Account) и destroy_account (принимает указатель на Account и ничего не возвращает). Не забудьте про include guards, используя символ ACCOUNT_H.
  • main.c: Простой тестовый файл для проверки правильности компиляции вашего заголовка. Подключите свой заголовочный файл и выведите сообщение, подтверждающее готовность интерфейса. Поскольку мы еще не реализовали функции, просто выведите подтверждающее сообщение — сама реализация появится в следующем уроке.

Ключевая идея здесь заключается в том, что ваш заголовочный файл показывает, что может делать модуль Account (создавать и удалять счета), не показывая, как он хранит данные внутри. Любой, кто подключит account.h, будет знать, что тип Account существует и какие функции доступны, но не сможет получить доступ к внутренним полям — потому что вы не определили их в заголовке!

Ваш основной файл должен вывести:

Account interface ready

Это подготавливает почву для полноценной системы банковских счетов, которую вы построите в течение следующих нескольких уроков. Созданный вами сейчас заголовок будет расширяться и включать deposit, withdraw и get_balance по мере продвижения по проекту.

Попробуйте сами

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

int main() {
    // TODO: Выведите сообщение, подтверждающее готовность интерфейса
    // Сообщение должно быть: "Account interface ready"
    
    return 0;
}

Все уроки раздела Object Oriented Programming