前回に続いて、今回もC++のキャストについて話します。C言語のキャストにはない特別な機能を持ったキャストです。 では、今回の要点です。 dynamic_cast を使えば継承関係をチェックしてくれる。 不当なキャストの時は NULL を返す。 dynamic_cast を利用するには、ランタイムタイプ情報が必要。 では、いってみましょう。 先ずは、前回の CFile と CBinaryFile と CTextFile の話を思いだしてみましょう。CBinaryFile クラスのオブジェクトのアドレスを一旦 CFile* に渡したものを CTextFile* にキャストすると困るというものでした。(ここで、CBinaryFile と CTextFile は CFile の派生クラスです。これらは第2部の継承の話で作ったあのクラスそのものです。) というのも、CBinaryFile ではバイナ