Тор, и неоднозначность остала

Автор admin Среда, 17 июня 2009 11:32

Тор, и неоднозначность осталась бы. Доминирование при множественном наследовании действует только при наличии виртуальных базовых классов. Расширение интерфейса 465 Класс А в этом случае является (непосредственно) базовым по отношению к В, поэтому имя В::f доминирует над A::f. Отказ от множественного наследования Принимая решение о применении множественного наследования, следует задать себе по крайней мере два вопроса. • Должен ли новый тип предоставлять открытые интерфейсы обоих классов? (Подумайте, нельзя ли вложить один класс в другой, чтобы в новом классе проявлялась лишь часть его интерфейса.) • Потребуется ли выполнять повышающее преобразование к обоим базовым классам (или к большему количеству базовых классов)? Если хотя бы на один вопрос вы ответите «нет», то без множественного наследования можно — и, скорее всего, нужно — обойтись. Обращайте особое внимание на ситуации, в которых один класс должен проходить повышающее преобразование только как аргумент функции. В этом случае класс можно оформить как вложенный и включить в новый класс функцию автоматического преобразования типа для получения с


Комментарии закрыты.