// ( o13.C ) // オブジェクトをフレ−ム・モデルに利用する // /*[フレ−ム・モデル] 著書『オブジェクト指向プログラミング』の 314 ペ−ジに掲載されている "フレ−ム・モデルとそ 動物園フレ−ム の応用" を参考に、C++でどうなるか表わして 動物:ライオン,ゾウ,キリン みた。 上野動物園フレ−ム やってみて、特に問題になることはない。素直に is-a:動物園 クラスを定義し、オブジェクトを生成しただけで 動物:デフォルト+パンダ ある。しかしフレ−ム・モデルってこんな単純な なものなのかな?。それともオブジェクト指向と 動物フレ−ム よっぽど相性がいいのかな。 -------------------------------------------- パンダフレ−ム フレ−ム・モデルのフレ−ムは、C++ではクラ is-kind-of:動物 スかオブジェクトに対応する。この例ではトント 色:白 ンと上野動物園はオブジェクトになる。他はクラ 棲息地:中国 スになる。クラスとサブクラスの関係は動物とパ ンダフレ−ムがある。またスロットとファシット トントンフレ−ム は、C++ではメンバ変数とメンバ関数に置き換 is-a:パンダ えられることになる。 棲息地:上野動物園 -------------------------------------------- */ #include const PANDA =4 ; const CHINA =1 ; const UENO_ZOO=2 ; class Zoo_FRAME { int animal[10],count ; public: // 1:RION, 2:ZOU, 3:KIRIN とする Zoo_FRAME() { animal[0] = 1 ; animal[1] = 2 ; animal[2] = 3 ; count = 3 ; } void add_animal( int type ) { animal[count] = type ; count++ ; } void report() { for ( int i=0;i