Некоторые преимущества использования спецификатора protected в C++:
- Контроль доступа. www.c-cpp.ru С помощью protected можно позволить использовать член класса внутри иерархии классов и запретить доступ к нему извне этой иерархии. www.c-cpp.ru
- Наследование прав доступа. www.c-cpp.ru Когда элемент объявляется защищенным, можно наследовать права доступа: если у производного класса будут свои классы-наследники, то в них также можно обращаться к подобным членам базового класса. metanit.com
- Защита реализации базового класса. stackoverflow.com Защищённые члены доступны в классе, который их определяет, и в классах, наследуемых от этого класса. stackoverflow.com
- Помощь в обслуживании кода. stackoverflow.com Как правило, защищённые функции используются, когда нужно сохранить модульность общедоступных функций или исключить повторяющийся код. stackoverflow.com
Таким образом, спецификатор protected позволяет определять уровень доступа к переменным и функциям базового класса, которые должны быть доступны в производных классах, но не извне. metanit.com