public: BottomCint i. int j. i

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

public: BottomCint i. int j. int k, int m) : Top(i). Left(0. j). Right(0. k) { w = m; } friend ostream& operator«(ostream& os. const Bottoms b) { return os « b.x « ‘.’ « b.y « ‘.’ « b.z « ‘.’ « b.w; } }: int mainO { Bottom b(l. 2. 3. 4); cout « sizeof b « endl: cout « b « endl: cout « static_cast(&b) « endl: Top* p = static_cast(&b): cout « *p « endl: cout « static_cast(p) « endl; cout « dynamic_cast(p) « endl; } ///:- Все виртуальные базы заданного типа относятся к одному объекту независимо от его местонахождения в иерархии1. Таким образом, экземпляр объекта Bottom имеет следующую структуру: Мы используем общепринятый термин «иерархия», хотя графическое представление отношений множественного наследования правильнее было бы называть ориентированным ациклическим графом, или решеткой. 456 Глава 9 • Множественное наследование Left Right Bottom Top Каждый из подобъектов Left и Right содержит указатель (или его концептуальный эквивалент) на общий подобъект Тор, а все обращения к этому подобъекту из функций Left и Right осуществляются через эти указатели1. Теперь повышение Bottom д


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