継承の実行サンプル
それでは、上記できちんと継承ができているか、サンプルを動かして試してみましょう。
#include "ObjectClass.h" #include "SubObjectClass.h" /* エントリポイント */ int main(int argc, char* argv[]) { ObjectClass* parent = Object_new("親クラス", 1); SubObjectClass* child = SubObject_new("派生クラス", 2, 3); parent->message(parent); child->message((ObjectClass*)child); child->message2(child); Object_delete(parent); SubObject_delete(child); return 1; }
>gcc main.c ObjectClass.c SubObjectClass.c >a.out 親クラス.status = 1 派生クラス.status = 2 派生クラス.type = 3
無事に実行できました。構造を受け継ぐという継承の仕組みについて、少し具体的なイメージが持てましたでしょうか。
まとめ
いかがだったでしょうか。今回はOOPでよく使われる継承の概念について、C言語を用いた簡単な実装例とともに解説しました。次回は、今回解説した継承と共に、オブジェクト指向でよく使われる概念であるポリモーフィズムについて解説してみたいと思います。
本稿が、少しでも皆さんのオブジェクト指向の理解に貢献できたのなら幸いです。次回もお楽しみに。