プロジェクトのセットアップ
CoddyのCジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 22/61。
チャレンジ
簡単Bank Accountライブラリの構築を始めましょう!この最初のステップでは、公開インターフェース、つまり実装の詳細を明らかにせずに存在する操作を定義するヘッダーファイルを作成します。
プロジェクトの基盤を整えるために、2つのファイルを作成します。
account.h:公開ヘッダーファイルです。ライブラリの利用者が include するファイルです。incomplete type declaration を使用して opaqueAccounttype を Declare します。struct body は記述せず、type が存在することをコンパイラーに知らせる forward declaration だけを記述します。次に、create_account(account ID として integer を Takes、Account pointer を Returns)とdestroy_account(Account pointer を Takes、nothing を Returns)の function prototypes を Declare します。ACCOUNT_Hシンボルを using した include guards も忘れないでください。main.c:header が正しくコンパイルできることを確認するためのシンプルなテストファイルです。header を include し、interface が ready であることを confirming する message を Print します。まだ function を実装していないため、確認 message を Print するだけにします。実際の実装は次のレッスンで行います。
ここでの重要なポイントは、header が Account module に何ができるか(account の作成と破棄)を明らかにしながら、内部でデータをどのように保存しているかを示さないことです。account.h を include する人は、Account type が存在し、どの function が利用できるかを知ることができます。しかし、header では内部フィールドを何も定義していないため、それらにアクセスすることはできません。
main file の出力は次のようになります。
Account interface readyこれにより、これから数回のレッスンにわたって構築する完全な Bank Account system の準備が整います。今回作成した header は、プロジェクトを進めるにつれて deposit、withdraw、get_balance を含むように拡張されます。
自分で試してみよう
#include <stdio.h>
#include "account.h"
int main() {
// TODO: インターフェースの準備ができたことを確認するメッセージを出力する
// The message should be: "Account interface ready"
return 0;
}
オブジェクト指向プログラミングのすべてのレッスン
自分で練習してみよう: Cオンラインコンパイラ