ое выравнивание, поэтому разме

Автор admin Вторник, 16 июня 2009 11:32

ое выравнивание, поэтому размер объекта по крайней мере не меньше суммы частей, хотя может превышать ее. 454 Глава 9 • Множественное наследование Left Тор Ж Right 13″ Bottom Перед вами так называемое «ромбовидное наследование», которое лучше было бы изобразить в виде Тор Left Тор Right Bottom Неудобство этого подхода отражается в конструкторе класса Bottom из предыдущего примера. Пользователь думает, что для конструирования необходимы всего четыре числа, но какие аргументы должны передаваться в двух параметрах Left и Right? Хотя такая архитектура не является принципиально ошибочной, обычно это не то, что нужно вашему приложению. Кроме того, проблемы возникают и при попытке преобразовать указатель на Bottom в указатель на Тор. Как было показано ранее, преобразование может потребовать дополнительной настройки адреса в зависимости от смещения подобъекта внутри полного объекта, но в данном случае приходится выбирать между двумя подобъектами Тор. Компилятор не знает, какой именно подобъект он должен выбрать, поэтому такое повышающее преобразование запрещается как неоднозначное. Аналогичные рассуждения объяс


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