Ключ доступа определяет то, как элементы базового класса наследуются производным классом.
А) Наследование открытых элементов (находятся в разделе public).
Если задан ключ доступа public, то все открытые члены базового класса остаются открытыми и в производном классе.
Если задан ключ доступа private, то все открытые элементы базового класса, оставаясь открытыми в базовом, в производном классе становятся закрытыми, но доступными для функций-элементов производного класса. На следующем шаге наследования они становятся не доступными для функций-элементов производного класса.
Если задан ключ доступа protected, то все открытые элементы базового класса, оставаясь открытыми в базовом, в производном классе становятся защищенными.
Б) Наследование закрытых элементов.
В случае public закрытые элементы остаются в производном классе закрытыми от внешнего воздействия, доступными для функций-элементов базового класса, но недоступными для функций-элементов производного класса.
В случае private закрытые элементы остаются закрытыми для внешних функций и функций-элементов производных классов.
В случае protected закрытые элементы остаются закрытыми для внешних функций и функций-элементов производных классов.