Menu
Coddy logo textTech

プロジェクトのセットアップ

CoddyのCジャーニー「Object Oriented Programming」セクションの一部 — レッスン 22/61。

challenge icon

チャレンジ

簡単

銀行口座ライブラリの構築を始めましょう!最初のステップでは、公開インターフェースを作成します。これは、実装の詳細を明かすことなく、どのような操作が存在するかを定義するヘッダーファイルです。

プロジェクトの基盤を構築するために、2つのファイルを作成します:

  • account.h: 公開ヘッダーファイルです。これはライブラリのユーザーがインクルードするものです。不完全な型宣言を使用して、不透明な Account 型を宣言してください。構造体の本体は記述せず、コンパイラにその型が存在することを伝える前方宣言のみを行います。次に、create_account(口座IDとして整数を受け取り、Accountポインタを返す)と destroy_account(Accountポインタを受け取り、何も返さない)の関数プロトタイプを宣言します。シンボル ACCOUNT_H を使用したインクルードガードを忘れないでください。
  • main.c: ヘッダーが正しくコンパイルされるかを確認するためのシンプルなテストファイルです。作成したヘッダーをインクルードし、インターフェースの準備が整ったことを確認するメッセージを出力してください。まだ関数を実装していないため、確認メッセージを出力するだけに留めます。実際の実装は次のレッスンで行います。

ここでの重要な洞察は、ヘッダーが Account モジュールで「何ができるか」(口座の作成と破棄)を明らかにし、内部でデータを「どのように」保存しているかは示さないという点です。account.h をインクルードする人は誰でも、Account 型が存在することと、どのような関数が利用可能かを知ることができますが、内部フィールドにアクセスすることはできません。なぜなら、ヘッダーでそれらを定義していないからです!

メインファイルは以下を出力する必要があります:

Account interface ready

これにより、今後数回のレッスンで構築していく完全な銀行口座システムの舞台が整います。今作成するヘッダーは、プロジェクトが進むにつれて depositwithdrawget_balance を含むように拡張されていきます。

自分で試してみよう

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

int main() {
    // TODO: インターフェースの準備が完了したことを確認するメッセージを表示する
    // メッセージは "Account interface ready" としてください
    
    return 0;
}

Object Oriented Programmingのすべてのレッスン