[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
・派生クラスの実体(アドレス)を基底クラスのポインタに入れるが可能
class CBaseChara
{
//略
};
class CPlayer : public CBaseChara
{
//略
};
というクラスがあった場合
CBaseChara* p = new CPlayer;
ということが可能です。
C言語では、同じ型のポインタにしかアドレスを入れることが出来ませんが、基底クラスのポインタに実体を入れることが出来ます。
ただその場合、基底クラスのメソッド、フィールドしか呼び出すことは出来ません。
例外的に
(CPlayer*)p->CPlayerのメソッド
のようにキャストしてあげれば可能ですが、安全性を考えれば、余りいい方法とはいえません。
(私は、製作でよくしていましたが…)
何に使えんねん!ということですが、前回の仮想関数と同様、ポリモフィズムのための必要知識と思ってください。
今日はこれでおわり!
とっても短いですね。
なんかもっと言いたいことがあったような気がするのですが、ど忘れしてしまいました…。
道具が揃ったため、次回でやっとポリモフィズムです。
更新は31日になると思います。
中原でした。
COMMENT