СКРЫТИЕ ДАННЫХ В ПОТОМКАХ

 

При порождении потомка класса у вас есть выбор в определении типа элементов. По умолчанию элементы базового класса автоматически получают приватный тип, если только вы не захотите иначе. Использование же ключевого слова public, при порождении потомка класса делает все элементы базового класса общими в порожденном классе. Приватные элементы базового класса остаются приватными и не будут доступны из потомков. Вот где требуются защищенные элементы (protect). Если вы хотите использовать в потомке класса элементы базового класса, то они должны быть объявлены как защищенные или общие. Доступ к приватным элементам базового класса невозможен никак иначе, как из их приватных функций элементов или с помощью дружественных функций, объявленных как friend.