BaseClass Characterと3つのSubClasses Good、Bad、Zombieがあるとします。 はまた、我々は、良い悪いか、ゾンビクラスで指す2つのポインタ継承しているクラスを指すポインタ
Character* ptr1,ptr2;
を持っていると仮定します。上
if ((ptr1 "shows" Good)&&(ptr2 "shows" Bad)) {...} else if ((ptr1 "shows" Good)&&(ptr2 "shows" Zombie)) {...} else if ...
ので:私はこのようなコードの一部を作成したいです。そのような声明を書くにはどうすればいいですか?私は、仮想関数、多形性、継承を理解するのに苦労しますが、それらについても説明することは自由です。
ありがとうございます。あなたは次のようにdynamic_cast
を使用することができ
'dynamic_cast'を使って、' ptr# 'がいずれかの派生クラスに変換可能かどうかを調べることができます。 – 101010
( 'ptr2'はポインタとして宣言されていません) – LogicStuff