Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT

         

Разграничение доступа к элементам базового класса


Мы уже рассказывали, что можно управлять доступом к элементам класса, указывая спецификаторы доступа для элементов класса. Элементы класса, объявленные с спецификаторами protected и private доступны только из методов самого класса. Элементы с спецификаторами public доступны не только из методов класса, но и извне.

При создании порожденного класса встает вопрос о доступе к элементам базового класса. Оказывается, когда вы наследуете класс из базового класса, вы можете управлять разграничением доступа к элементам базового класса. При этом имеет значение то, как объявлены элементы базового класса и какой спецификатор доступа указан для базового класса.

По следующей таблице вы можете определить как будут доступны элементы базового класса в зависимости от спецификатора доступа базового класса и спецификаторов доступа элементов базового класса.

Спецификатор доступа базового класса

Спецификатор доступа элемента базового класса

public

protected

private

public

Доступны как public

Доступны как protected

Доступны как private

protected

Доступны как protected

Доступны как protected

Доступны как private

private

Недоступны

Недоступны

Недоступны



Содержание раздела