Вопросы к Поиску с Алисой
Основное отличие protected доступа от private в C++ заключается в уровне доступности членов класса: cppscripts.com
Таким образом, protected используется, когда нужно разрешить доступ для классов, наследуемых от класса, а private — когда нужно полностью ограничить доступ, сосредоточившись только на реализации класса без внешнего вмешательства. cppscripts.com
Выбор между этими спецификаторами зависит от дизайна иерархии классов. cppscripts.com