ISA関係——继承
HASA関係——组合
ゲームオブジェクト
背景
キャラクター
プレイヤー
エネミー
ボタン
プッシュ
チェック
メンバー関数のオーバーライド
オーバーロード
- 同名関数、引数や戻り値のパタンが違うもの、C++は違う関数として処理する
オーバーライド
モンスター Attack()関数を呼び出す
スライム
たるスライム
ドラゴン
レッドドラゴン
ゴールドドラゴン
- 同名関数、親の関数を子供の関数が上書きする
class Monster
{
public:
void Attack();
{
printf("殴り\n");
}
}
class Slime:public Monster
{
public:
void Attack()
{
printf("ねちょ\n");
}
}
int main()
{
Monster *m[2];
m[0] = new Monster;
m[1] = new Slime;
}
for(int i = 0 ;i<2;i++)
{
m[i]->Attack();
}
バーチャルポインタ
ポリモーフィズム(多态,polymorphism)
課題05「ポリモーフィズム」
親子関係のクラスを作成
メンバー関数をオーバライドように設定
メインプログラムからオーバライドした関数を呼ぶ
7/16
dakai05
ソースファイル
実行ファイル