Области видимости членов класса C++

во первых -как говорит википедия:

Область видимости членов класса (то есть область кода, из которой к ним можно обращаться по неквалифицированному имени — без указания имени класса или объекта) не зависит от их области доступа, и всегда совпадает с кодом методов класса.

Модификаторы доступа

Итак, public, private и protected – это модификаторы доступа, а не видимости, как ошибочно думают некоторые. Private члены видны снаружи класса, но не доступны.


Теперь кратко, кому какой доступ они предоставляют=

  1. Public – доступ открыт всем, кто видит определение данного класса.
  2. Private – доступ открыт самому классу (т.е. функциям-членам данного класса) и друзьям (friend) данного класса, как функциям, так и классам.
  3. Protected – доступ открыт классам, производным от данного.

Область видимости членов класса

Члены класса видны (то есть к ним можно обращаться без указании имени класса) исключительно в методах класса (как
это и было написано выше)
область же видимости самого класса зависит от пространства имён.

источники:
http://cppforeach.wordpress.com/2008/05/...