メンバーを指すポインターの型変換は、
メンバーを指すポインターの型変換が初期化、代入、または比較されるときに行われます。
メンバーへのポインターは、
オブジェクトへのポインターまたは関数へのポインターと同じではないことに注意してください。
評価がゼロになる定数式は、メンバーへのヌル・ポインターに変換されます。
以下の条件が true である場合、基底クラスのメンバーへのポインターは、
派生クラスのメンバーへのポインターに変換することができます。
- 型変換が、あいまいではない。
基底クラスの複数インスタンスが派生クラス内にあると、変換はあいまいになります。
- 派生クラスへのポインターは、基底クラスへのポインターに変換することができる。
その場合、その基底クラスは、アクセス可能 であるといいます。
- メンバー型が一致する。
例えば、クラス A は、クラス B の基底クラスであると想定します。
型 int の A のメンバーを指すポインターを、
型 float の型 B のメンバーを指すポインターには、変換できません。
- 基底クラスが、仮想ではない。
関連参照
