Организация доступа к членам класса играет важную роль в ООП. Так если переменные или функции объявлены как закрытые (private), в производном классе нельзя будет получить к ним доступ и воспользоваться. Механизмы доступа в наследовании позволяют не только закрывать данные и функции родительского класса, но и гибко организовывать их в иерархии. Для наследования класса необходимо указывать модификатор доступа следующим образом:
class ИмяПроизводногоКласса : модификаторДоступа ИмяРодительскогоКласса
В языке программирования C++ предусмотрены 3 типа модификаторов доступа: открытый (public), закрытый (private), защищенный (protected).
1. Если при наследовании класса используется public модификатор, то все переменный экземпляра и функции, объявленные как public в родительском классе, становятся доступны и для дальнейшего наследования, при построении сложной иерархии.
2. При использовании private модификатора все доступные переменные экземпляра и функции становятся автоматически закрытые для дальнейшего наследования в иерархии.
3. В случае, если необходимо сделать члены класса закрытыми для внешнего доступа и открытыми для наследования в иерархии, их следует сделать защищенными в родительском классе при помощи модификатора protected. При использовании в наследовании модификатора доступа protected все доступные переменные и функции родительского класса становятся защищенными в производном.