タグ

2015年4月15日のブックマーク (1件)

  • ロベールのC++教室 - 第42章 ダウンキャスト -

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

    fa11enprince
    fa11enprince 2015/04/15
    ダウンキャスト理解。まれに使う