Инкапсуляция - это принцип объектно-ориентированного программирования, который предполагает объединение данных и методов, работающих с ними, в единую сущность (класс) и скрытие деталей реализации от других частей программы. Инкапсуляция позволяет создавать надежные, устойчивые к изменениям и легко сопровождаемые программы.
В C++ инкапсуляция реализуется с помощью модификаторов доступа: public, private и protected.
Модификатор доступа public позволяет получать доступ к членам класса из любой части программы, в том числе из функций, не являющихся методами класса.
Модификатор доступа private скрывает члены класса от других частей программы, и доступ к ним можно получить только из методов класса.
Модификатор доступа protected аналогичен private, за исключением того, что доступ к защищенным членам класса можно получить из классов-наследников.
Пример класса, использующего инкапсуляцию:
В этом примере мы объявляем класс Person, который имеет два приватных члена: name и age. Для доступа к приватным членам класса мы используем методы setName(), setAge(), getName() и getAge(), которые определены как публичные методы класса. Эти методы позволяют установить и получить значения приватных членов класса, при этом скрывая детали их реализации от других частей программы.