иерархию классов, как Smalltal
Автор admin Среда, 17 июня 2009 11:32
иерархию классов, как Smalltalk или Java. Вместо этого С++ позволяет создавать множество самостоятельных деревьев наследования, поэтому иногда требуется объединить интерфейсы двух и более деревьев в новый класс. Упражнения 469 Если иерархия не содержит «ромбов», множественное наследование обходится без особых сложностей (хотя вам все равно приходится решать проблему идентичных сигнатур функций в базовых классах). При появлении ромбовидных структур желательно избавиться от дублирования подобъектов за счет введения виртуальных базовых классов. Впрочем, это не только запутывает программу, но и усложняет базовую реализацию и снижает ее эффективность. Множественное наследование называют «командой goto 90-х годов1». Сравнение весьма удачное: множественного наследования, как и команды goto, при нормальном программировании лучше избегать, но в отдельных случаях оно оказывается очень полезным. Оно принадлежит к числу «второстепенных», но крайне нетривиальных возможностей С++, предназначенных для решения проблем, возникающих в особых ситуациях. Если вы часто пользуетесь множественным наследованием, лишний раз пр
Комментарии закрыты.
Последние комментарии