Обеспечьте инкапсуляцию в классах

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

  • Сокрытие внутренней реализации класса от внешнего доступа.
  • Объединение данных (полей) и методов для работы с ними в единую структуру.
  • Контроль доступа к данным через общедоступные методы (геттеры и сеттеры).

Никогда не объявляйте переменные в общедоступной части класса. Это может привести к нарушению инварианта класса. По той же причине не возвращайте из функций-членов по неконстантной ссылке члены класса. Доступ может быть только через:

  • Общедоступные функции-члены
  • Наследование.
  • Дружественный (friend) доступ.