Ответ 1
private
- доступно только для доступа к классу, который их определяет.
protected
- доступно в классе, который определяет их и в других классах, которые наследуются от этого класса.
Возможный дубликат:
Частные и защищенные участники: С++
Я не понимаю разницы между защищенными и частными членами или методами, так как я предположил, что оба будут скрывать член или функцию для доступа извне класса.
В чем разница между защищенным и закрытым ключевыми словами?
private
- доступно только для доступа к классу, который их определяет.
protected
- доступно в классе, который определяет их и в других классах, которые наследуются от этого класса.
Вещи, которые private
видны только внутри самого класса.
Вещи, которые protected
видны в самом классе и в подклассах.
Частные методы обычно видны экземплярам класса (внутренние реализации), защищенные методы видны для подклассов и классов в одном пакете (наследование и ограниченное использование).
Частные члены могут использоваться только членами этого класса и его друзьями; защищенные члены могут быть унаследованы другими классами и могут использоваться членами классов и друзьями.
Разница в том, кто может получить доступ к этим функциям.
Private
= только члены одного класса могут получить доступ к этой функции.
Protected
= То же самое, что и частные, но производные классы.