汎化 ⇔ 特化
ここまで勉強すると、設計の方針は2種類の方向性が出てくる。
汎化+オーバーライドで、RPGのキャラを作ってみよう!
・・・今作成中のはず
主人公(cChara) setter getter constructorも欲しいね 属性(メンバ変数) ・名前(string) ・腕力 (int) ------------------------- 機能(メンバ関数) ・名乗る(自己紹介) 表示のみ ↓ ・戦う(なぐる) ・防御(身を守る) ・逃げる(逃亡) ・特殊攻撃(オーバーライド用 職業別攻撃) =0 で純粋仮想関数になるよ ------------------------- →戦士(cWarrior) ・特殊攻撃はない →魔法使い(cWizard) ・魔法(魔力で攻撃) →盗賊(cThief) ・ぬすむ(戦士から金を盗む)