Язык программирования C++. Вводный курс

Защищенное наследование


Третья форма наследования – это защищенное наследование. В таком случае все открытые члены базового класса становятся в производном классе защищенными, т.е. доступными из его дальнейших наследников, но не из любого места программы вне иерархии классов. Например, если бы нужно было унаследовать PeekbackStack от Stack, то закрытое наследование

// увы: при этом не ïîääåðæèâàåòñÿ

дальнейшее наследование

// PeekbackStack: все члены IntArray теперь закрыты

class Stack : private IntArray { ... }

было бы чересчур ограничительным, поскольку закрытие членов IntArray в классе Stack

делает невозможным их последующее наследование. Для того чтобы поддержать наследование вида:

class PeekbackStack : public Stack { ... };

класс Stack

должен наследовать IntArray

защищенно:

class Stack : protected IntArray { ... };



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