Почему определение членов парламента, не занимающих официального поста ниже общедоступных участников в C++?

Я понял это.

Поэтому щелкните правой кнопкой мыши на текстовом поле ActiveX -> Просмотреть код.

Private Sub TextBox12_Change()
    TextBox12.Value = Format(TextBox12.Value, "###,##")
End Sub
27
задан greyfade 28 April 2009 в 18:51
поделиться

5 ответов

Я делаю все по-другому, так как пользователям моего класса не нужны частные члены, они заинтересованы в общедоступном API (т.е. как использовать мой класс).

Кроме того, в заголовочных файлах я обычно просто объявляю функции-члены, а не определяю их, поэтому в любом случае я не получаю доступ к каким-либо закрытым членам.

34
ответ дан 28 November 2019 в 04:34
поделиться

Мы читаем текст сверху вниз, поэтому самая важная информация должна быть сверху. В определении класса это открытый интерфейс.

25
ответ дан 28 November 2019 в 04:34
поделиться

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

6
ответ дан 28 November 2019 в 04:34
поделиться

Обычно частные члены не имеют значения. Если я' Я смотрю на класс, чтобы определить, как использовать его где-то еще в коде. Меня не волнуют его внутренние компоненты, поэтому поместите закрытые члены внизу, так как мне не нужно знать о них. Если я изменяю класс, то я найду время, чтобы найти приватных членов и знать, что они будут внизу, вместо того, чтобы просматривать весь класс.

2
ответ дан 28 November 2019 в 04:34
поделиться

Мы как противоположности: Мой вопрос

Мои рассуждения таковы, что когда вы знакомитесь с классом, поэтому выгоднее сначала познакомиться с общедоступным интерфейсом, а затем углубиться в частные члены, когда это необходимо. Если вы начнете с просмотра закрытых пользователей, у вас нет контекста, как они используются.

2
ответ дан 28 November 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: