Static или Private

167
05 октября 2021, 10:20

Я большой фанат C, и не совсем понимаю, зачем нам использовать private методы? Делать для них геттеры и сеттеры, и остальные абсолютно(по-моему мнению) не нужные вещи. Почему бы не сделать static для функции(для сокрытия вне данного translation unit), и все намного элегантнее и без синтаксического сахара?

P.S. Я новичок, сильно не ругайтесь.

Answer 1

private нужны для запрета вызова методов и обращения к переменным из этой секции. Допустим, ваш класс занимается рисованием прямоугольников. Естественно, вы рисуете прямоугольник линиями. Вы определите соответствующий метод. И логически верно его будет скрыть из публичных методов как минимум потому что рисовать линии при помощи объекта, рисующего прямоугольники выглядит, гм, глупо наверное.

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

Ну и синтаксический сахар - это как правило хорошо.

READ ALSO
С++ работа с памятью, шаблоны

С++ работа с памятью, шаблоны

Здравствуйте! Пожалуйста можете объяснить почему size(a) возвращает 8, а sizeof(a) - 40? И как внутри шаблона функции получить информацию об использованной...

176
Надо ли писать два двоеточия перед std?

Надо ли писать два двоеточия перед std?

Некоторые авторы используют два двоеточия :: перед неймспейсом std, например:

189
Коды русских символов (не в консоли)

Коды русских символов (не в консоли)

Есть строка, нужно перевести русские символы в ней на аналогичные английские (А на А, В на В,

152
c++ написал прогу по фану а там

c++ написал прогу по фану а там

написал прогу по фану на с++ а она почему то не вызывает ошибку 0_0

100