ние типа // в старом стиле нев

Автор admin Воскресенье, 14 июня 2009 11:32

ние типа // в старом стиле невозможно: //! MI* mip2 = (MI*)bbp: // Ошибка компиляции } ///:- Оператор typeid правильно определяет имя для фактического объекта даже через указатель на виртуальный базовый класс. Оператор dynamic_cast тоже работает правильно. Тем не менее, компилятор не позволяет выполнить принудительное преобразование типа старым способом: MI* mip2 = (MI*)bbp: // Ошибка компиляции Области применения RTTI 435 Компилятор знает, что такое преобразование всегда является нежелательным, и поэтому требует использовать оператор dynamic_cast. Области применения RTTI Новички часто злоупотребляют возможностью получения информации типа по анонимному полиморфному указателю, потому что обычно они понимают логику работы RTTI раньше, чем логику работы механизма виртуальных функций. Многим программистам с опытом процедурного программирования нелегко избавиться от привычки делить программу на команды switch. RTTI позволяет реализовать такую логику, однако при этом теряются важные преимущества полиморфизма в разработке и сопровождении программ. Язык С++ проектировался с расчетом на то, что программист буде


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