Глава 23. Динамическая идентификация типов 667

А является предком В

А является предком С

В не является предком А

В является предком С

С не является предком А

С не является предком В

Теперь, несомненно, становится ясно, что компилятор просто сортирует классы по именам в алфавитном порядке. Если вы не поняли преимущество такого упорядочивания — не расстраивайтесь: его никто не понимает. Реализация метода before () в Borland C++ выглядит весьма ограниченной. Если вам удастся найти ему лучшее применение — тем лучше для вас.

Совет

1 Вероятно, метод before () не показался вам особенно интересным или полезным; для получения информации, которую before () предоставить не способен, вы вполне можете воспользоваться операцией dynamic_cast.

Установка ключей компилятора

Компилятор Borland C++ имеет только один ключ командной строки, относящийся к динамической идентификации типов: -RT. Этот ключ управляет созданием и сохранением информации RTTI для полиморфных классов и по умолчанию как для IDE, так и для командной строки устанавливается в состояние "on" (разрешение RTTI). Отключить RTTI можно заданием в командной строке ключа -RT-, а при использовании IDE необходимо убрать флажок Enable runtime type information в диалоговом окне Project Options (рис. 23.1).

h06671.jpg

Рис. 23.1

Включение RTTI