Димос Тцарев
Гуру
(3437)
10 лет назад
Закрытое наследование нужно для ограничения доступа к членам наследуемого класса, по
принципу наследования реализации. Конкретнее, например вам нужно разрешить доступ лишь к
части публичных методов базового класса через экземпляр наследника.
Да, принцип подстановки при наследовании, отличном от public, не выполняется.
В источнике читать с комментариями.
Федор Новиков
Искусственный Интеллект
(366066)
10 лет назад
Ни разу не приходилось делать закрытое наследование.
Возможно, чтобы использовать методы и поля базового класса, но не показывать их в новой реализации. Например, есть класс, определяющий поведение человека (ходит, ест, спит, работает) , потом понадобилось реализовать поведение кошки, но она не работает, поэтому используем закрытое наследование, а метод "работает" не используем и другим не даем.
PS извращение какое-то
http: //www. e-reading. link/chapter. php/1002058/99/Mayers_-_Effektivnoe_ispolzovanie_CPP.html