CodeZine(コードジン)

特集ページ一覧

【第4回】多態性

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/12/22 18:15

目次

多態性の実行サンプル

 準備は以上です。それでは、多態性が実現出来ているか試してみましょう。

リスト12:多態性の実行サンプル
#include "Guest.h"
#include "Member.h"

/* エントリポイント */
int main(int argc, char* argv[])
{
    int user_num = 2;
    User* user[user_num];
    int i;
	
    user[0] = (User*)Guest_new(0);
    user[1] = (User*)Member_new(1, "snoozer05");

    for (i = 0; i < user_num; i++) {
        user[i]->action(user[i]);
    }

    Guest_delete((Guest*)user[0]);
    Member_delete((Member*)user[1]);
	
    return 1;
}
リスト13:実行結果
>gcc main.c User.c Member.c Guest.c
>a.out
Guest : id0さんは、実行のための権限がありません
Member : snoozer05さん、ようこそ!

 userに格納されたオブジェクトに従って、それぞれの処理が実行されたことが確認できました。

まとめ

 いかがだったでしょうか。今回は、OOPでよく使われる多態性について、C言語を用いた簡単な実装例とともに解説しました。本稿が、少しでも皆さんのオブジェクト指向の理解に貢献できたのなら幸いです。次回もお楽しみに。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Cでわかるオブジェクト指向

著者プロフィール

  • 島田 浩二(Ruby札幌)(シマダ コウジ)

    1978年生まれ。電気通信大学電気通信学部情報工学科卒業後、メーカ系ソフトウェア会社にて携帯電話の開発業務に従事した後、2006年より札幌にてフリーのプログラマとして活動。2009年7月に株式会社えにしテックを設立し、同社代表取締役に就任。 日本Rubyの会理事、一般社団法人LOCAL理事、Ru...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5