Модификаторы доступа без наследования в С++

Рейтинг: 0Ответов: 1Опубликовано: 02.03.2015

Всем привет!
Есть такой вопрос.
Какую роль играют модификаторы доступа в С++ перед определением класса.
Допустим, у нас есть класс

private class Location {
public:     
    int X; int Y;   
public:            
    Location();
        Location (int InitX, int InitY); 
    ~Location();
 };

нет наследования, к примеру
Вопрос в том, что изменится, если менять модификатор здесь private[ protected, public] class Location.
Как я не менял, ничего не изменилось, если менять модификаторы у полей, то да, там разница ощутима. А в С++, не как в Java и C#, не понятно что я этими модификаторами перед определением класса.
Всем спасибо за внимание. Буду признателен, если кто-то сможет помочь в решении данной проблемы.

Ответы

▲ 1

Они не играют никакой роли. То есть, их там вовсе нет, в отличие, скажем, от Java или C#, где модификаторы доступа могут применяться к классам, указывая на их видимость относительно пространства имен. В С++ модификаторы доступа к классам не применяются, а потому подобный код приведет к ошибке компиляции