Глава 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).
Рис. 23.1
Включение RTTI