昨日やったやつ

オーバーライドの練習

汎化 ⇔ 特化
ここまで勉強すると、設計の方針は2種類の方向性が出てくる。

純粋仮想関数=0

実践編

問題1
汎化+オーバーライドで、RPGのキャラを作ってみよう!
まずはベースクラスを作ろう。

ゲームキャラのベースクラス\\
cCharBase
属性(メンバ変数)
 ・名前(string)
 ・ライフ(int)
 ・攻撃力 (int)
 ・防御力 (int)
 ・職業ID(enum? int?)
-------------------------
機能(メンバ関数:この時点ではすべて純粋仮想関数で宣言)
 ・名乗る(自己紹介) 表示のみ 
 ・戦う(基本攻撃)   
 ・防御(身を守る)
 ・逃げる(逃亡)
 setter getter constructorも欲しいね
-------------------------

問題2\\

派生で、以下のクラスを作る
それぞれ、基本機能のほかに
・必要な属性(まりょく、MP?)
・特殊攻撃(職業別攻撃)を追加

 →戦士(cWarrior)
 ・特殊攻撃はない、戦うのコマンドが以上に強い
 →魔法使い(cWizard)
 ・戦うは弱い、魔法が攻撃のメイン
 ・魔法(ターゲットを魔力で攻撃)
 →僧侶(cCleric)
  ・ある程度戦えるけど、戦士ほどではない
 ・魔法(ターゲットを魔力で回復)
 →盗賊(cThief)
 ・戦うのは弱い
 ・ぬすむ(たーげーっとから金を盗む)

問題3
それぞれのインスタンスを作って、行動させてみよう。\\
インスタンス作成⇒メンバ関数呼び出し