C++ 3d.Комментарии

7b6e9298

Доступ к базовым классам


class XX : B { /* ... */ }; // B -- закрытый базовый класс class YY : B { /* ... */ }; // B -- открытая базовая структура

На самом деле, в оригинале было так: class XX : B { /* ... */ }; // B -- закрытая база struct YY : B { /* ... */ }; // B -- открытая база

Т.е. вне зависимости от того, является ли база B классом или структурой, права доступа к унаследованным членам определяются типом наследника: по умолчанию, класс закрывает доступ к своим унаследованным базам, а структура -- открывает.

В принципе, в этом нет ничего неожиданного -- доступ по умолчанию к обычным, не унаследованным, членам задается теми же правилами.



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