シューティングゲーム製作技術総合 17機目at GAMEDEVシューティングゲーム製作技術総合 17機目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト486:名前は開発中のものです。 09/03/05 20:48:41 JU51dqJC >>645 継承がis aの関係じゃない時点で美しくない 487:名前は開発中のものです。 09/03/05 20:53:18 g++EGVdD 富豪的にはありなんだろうけど…。 今俺本当に日本語書けてる? 以下、俺の思い浮かべる評判の悪いクラス設計の例。 「is a」ぐらいは守ってる? vector<Obj *> ObjArray; class Obj { virtual void Update() { Move(); } virtual void Move(){/*実装*/} }; class EnemyObj :Obj { virtual void Fire(){/*実装*/} void Update() { Move(); Fire(); } }; class EnemyA :EnemyObj {void Fire(){/*ユニークな実装*/} void Move(){/*ユニークな実装*/}}; class Barrier :Obj { bool IsTouch(Obj tgt){/*実装*/} void Update() { Move(); foreach(vector<Obj *>,tgt,ObjArray)IsTouch(Obj tgt);//foreachの構文が今ググったら違った!? } }; 488:名前は開発中のものです。 09/03/05 20:54:12 /7Ei5x6Q >>645 class Enemy : public Bullet だと Bullet 属性も継承することになるんだが・・・ Bulletクラスに破裂するという操作があると Enemyにも引き継がれるが それだったら Object に破裂操作を最初っから純仮想関数で宣言しておき class Bullet : public Object; class Enemy : public Object; の方が自然じゃない? とりあえず >> 372 のソースが見たいものだが オブジェクト=メモリのかたまりと考えてるのか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch