Menu
Coddy logo textTech

Konfiguracja projektu

Część sekcji Programowanie obiektowe ścieżki C w Coddy. Lekcja 22 z 61.

challenge icon

Wyzwanie

Łatwy

Zacznijmy tworzyć bibliotekę kont bankowych! W tym pierwszym kroku utworzysz publiczny interfejs: plik nagłówkowy definiujący dostępne operacje, bez ujawniania szczegółów implementacji.

Utworzysz dwa pliki, które będą podstawą projektu:

  • account.h: publiczny plik nagłówkowy, który będą dołączać użytkownicy twojej biblioteki. Zadeklaruj nieprzezroczysty typ Account za pomocą deklaracji niekompletnego typu: bez treści struktury, tylko deklaracja wyprzedzająca informująca kompilator o istnieniu tego typu. Następnie zadeklaruj prototypy funkcji create_account (przyjmuje liczbę całkowitą będącą identyfikatorem konta i zwraca wskaźnik do Account) oraz destroy_account (przyjmuje wskaźnik do Account i niczego nie zwraca). Nie zapomnij o strażnikach nagłówka używających symbolu ACCOUNT_H.
  • main.c: prosty plik testowy, który pozwoli sprawdzić, czy nagłówek kompiluje się poprawnie. Dołącz swój nagłówek i wypisz komunikat potwierdzający, że interfejs jest gotowy. Ponieważ nie zaimplementowaliśmy jeszcze funkcji, po prostu wypisz komunikat potwierdzający — właściwa implementacja pojawi się w następnej lekcji.

Kluczowa idea jest taka, że nagłówek ujawnia, co może robić moduł Account (tworzyć i niszczyć konta), ale nie pokazuje, jak przechowuje on dane wewnętrznie. Każdy, kto dołączy account.h, będzie wiedział, że istnieje typ Account i jakie funkcje są dostępne, ale nie będzie mógł uzyskać dostępu do żadnych wewnętrznych pól, ponieważ nie zostały one zdefiniowane w nagłówku!

Twój główny plik powinien wypisać:

Account interface ready

To przygotuje grunt pod kompletny system kont bankowych, który zbudujesz w ciągu kilku kolejnych lekcji. W miarę postępów w projekcie utworzony teraz nagłówek zostanie rozszerzony o funkcje deposit, withdraw i get_balance.

Spróbuj swoich sił

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

int main() {
    // TODO: Wyświetl komunikat potwierdzający, że interfejs jest gotowy
    // Komunikat powinien brzmieć: "Account interface ready"
    
    return 0;
}

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator C online