В C ++ нет понятия, что весь класс имеет спецификатор доступа, как в Java или C #.Если фрагмент кода имеет видимость класса, он может ссылаться на имя этого класса и манипулировать им.Тем не менее, есть несколько ограничений на это.Например, если вы можете ссылаться на класс, это не значит, что вы можете создать его экземпляр, поскольку конструктор может быть помечен как закрытый.Точно так же, если класс является вложенным классом, объявленным в закрытом или защищенном разделе другого класса, класс не будет доступен извне этого класса и его друзей.