Menu
Coddy logo textTech

Projekt-Setup

Teil des Abschnitts Objektorientierte Programmierung der C-Journey von Coddy. Lektion 22 von 61.

challenge icon

Aufgabe

Einfach

Beginnen wir mit dem Aufbau deiner Bank-Account-Bibliothek! In diesem ersten Schritt erstellst du die öffentliche Schnittstelle: die Header-Datei, die festlegt, welche Operationen existieren, ohne Details zur Implementierung offenzulegen.

Du erstellst zwei Dateien, um die Grundlage des Projekts einzurichten:

  • account.h: Deine öffentliche Header-Datei. Diese Datei wird von den Benutzern deiner Bibliothek eingebunden. Deklariere einen undurchsichtigen Account-Typ mithilfe einer unvollständigen Typdeklaration: keinen Struct-Körper, sondern nur eine Vorwärtsdeklaration, die dem Compiler mitteilt, dass der Typ existiert. Deklariere anschließend die Funktionsprototypen für create_account (nimmt eine Ganzzahl für die Konto-ID entgegen und gibt einen Account-Zeiger zurück) und destroy_account (nimmt einen Account-Zeiger entgegen und gibt nichts zurück). Vergiss nicht die Include-Guards mit dem Symbol ACCOUNT_H.
  • main.c: Eine einfache Testdatei, um zu überprüfen, ob dein Header korrekt kompiliert wird. Binde deinen Header ein und gib eine Meldung aus, die bestätigt, dass die Schnittstelle bereit ist. Da wir die Funktionen noch nicht implementiert haben, gib einfach eine Bestätigungsmeldung aus: Die eigentliche Implementierung folgt in der nächsten Lektion.

Die wichtige Erkenntnis hier ist, dass dein Header offenlegt, was das Account-Modul tun kann (Konten erstellen und zerstören), ohne zu zeigen, wie es Daten intern speichert. Jeder, der account.h einbindet, weiß, dass ein Account-Typ existiert und welche Funktionen verfügbar sind, kann jedoch auf keine internen Felder zugreifen, weil du im Header keine definiert hast!

Deine Hauptdatei sollte Folgendes ausgeben:

Account interface ready

Damit legst du den Grundstein für das vollständige Bank-Account-System, das du in den nächsten Lektionen erstellen wirst. Der Header, den du jetzt erstellst, wird im weiteren Verlauf des Projekts um deposit, withdraw und get_balance erweitert.

Probier es selbst

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

int main() {
    // TODO: Gib eine Nachricht aus, die bestätigt, dass die Schnittstelle bereit ist
    // The message should be: "Account interface ready"
    
    return 0;
}

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-C-Compiler