GearsOSのInterfaceを使ってStackを定義しました。
今回はこのInterfaceの具体的な実装であるSingleLinkedStack
を見ていきます。
# SingleLinkedStackのヘッダファイル
|
|
- SingleLinkedStackは
struct Element* top
を持っている- これはインスタンス変数に該当する概念です
- SingleLinkedStackは独自のprivete メソッドを持たない
- その為、ヘッダファイルにCodeGearが登録されていない
# SingleLinkedStack.cbc
- SingleLinkedStack.hでデータ構造を定義しましたが、ふるまいの実装はまだ行っていません。
- 今現在はすでに実装されたものが存在しますが、ここでは1から実装を書いてみましょう
# 雛形生成
trans_impl.pl
に実装側のヘッダファイルを通すことで生成できますperl trans_impl.pl SingleLinkedStack.h
-w
オプションを付けることで、同名の.cbc
ファイルが生成されますperl trans_impl.pl -w SingleLinkedStack.h
-o
オプションを付けることで、生成するファイル名を指定できますperl trans_impl.pl -o single_linked_stack.cbc SingleLinkedStack.h
# 生成されたファイル
- 特にオプションを指定しないと標準出力に出力されます
perl trans_impl.pl SingleLinkedStack.h | pbcopy
- こうしておくとクリップボードにコピーされて便利