Есть ли какой-то особый смысл писать private в конце класса в C ?

#c #class #private

#c #класс #Частное

Вопрос:

Я изучаю wxWidgets, и я нашел этот код в кроссплатформенном программировании с графическим интерфейсом с помощью wxWidgets на странице № 30:

 class MyFrame : public wxFrame
{
  public:
    // Constructor
    MyFrame(const wxStringamp; title);
    // Event handlers
    void OnQuit(wxCommandEventamp; event);
    void OnAbout(wxCommandEventamp; event);
  private:
};
 

Есть ли какой-то особый смысл писать private в конце класса C ?

Комментарии:

1. Нет. Возможно, автор рассматривал возможность добавления дополнительных закрытых членов.

Ответ №1:

Я считаю, что это просто вопрос стиля кодирования или дисциплины кодирования или привычек.

Прочитайте эту ссылку на C и некоторый проект стандарта C , например, n3337.

В вашем конкретном случае private: это бесполезно, поскольку class после него ничего не появляется.

Но будущие участники wxWdigets сразу знают, куда следует добавить будущую закрытую функцию-член.

Ответ №2:

private Ключевое слово в коде, которое вы опубликовали в его текущей форме, не имеет никакого смысла вообще. Даже если в классе был какой-то закрытый член, запись private необязательна, поскольку члены класса являются частными, если не указано иное.

Но хорошей практикой является размещение общедоступной части класса сверху. Рациональным является то, что кто-то, просматривающий файлы заголовков, скорее всего, интересуется его общедоступным интерфейсом. Поэтому размещение public сверху полезно для удобства чтения.

В данном конкретном случае автор класса помещает private туда, чтобы напомнить будущим авторам этого файла следовать вышеупомянутому стилю, например, сначала public .

Ответ №3:

Нет, особого смысла нет. Это явно указывает на то, что класс не содержит личных данных или методов. Вы можете рассмотреть возможность использования a struct вместо class и пропустить оператор public: and private: .

Ответ №4:

нет смысла. это просто используется для явного выражения.

Комментарии:

1. «явное выражение» чего? Ответ через 8 минут после другого, в котором более убедительно используется аналогичная формулировка и более понятно объясняется, следует проявлять больше осторожности, чтобы избежать впечатления «копировать и надеяться».