メンバー関数内で宣言された名前は、そのスコープがメンバー関数のクラスの終わりまで広がっているか、
または終わりを通過している、同じ名前の宣言を隠蔽します。
宣言のスコープがクラス定義の終わりまで及んでいるか、または終わりを通過している場合、
そのクラスのメンバー定義によって定義されている領域は、このクラスのスコープに含まれます。
クラス外部で字句的に定義されたメンバーも、このスコープに含まれます。
また、宣言のスコープには、メンバー定義の ID に続く宣言子の一部も含まれます。
クラス・メンバーの名前には、クラス・スコープ があり、
次のケースでのみ使用できます。
- そのクラスのメンバー関数内
- そのクラスから派生したクラスのメンバー関数内
- そのクラスのインスタンスに適用された . (ドット) 演算子の後
- そのクラスから派生したクラスのインスタンスに適用された . (ドット)
演算子の後 (派生したクラスが名前を隠蔽しない場合)
- そのクラスのインスタンスを指すポインターに適用された
-> (矢印) 演算子の後
- そのクラスから派生したクラスのインスタンスを指すポインターに適用
された -> (矢印) 演算子の後 (派生したクラスが名前を隠蔽
しない場合)
- クラスの名前に適用された :: (スコープ・レゾリューション) 演算子の後
- そのクラスから派生したクラスに適用された :: (スコープ・レゾリューション) 演算子の後
関連参照
