Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как на C++ выглядит паскалевский is?


Автор: chipset 7.4.2005, 22:46
Ответ: 
    dynamic_cast<...>(...);

Пример:
    Паскаль: if Screen.Forms[I] is FormClass then begin

    C++:     if (dynamic_cast<FormClass*>(Screen->Forms[I])){


Примечание Fantasist'a
Ничего типа is в С++ нет.
Типа as это dynamic_cast. Он правда одновременно и типа is.

Код

int fn(Object *obj)
{
Edit *ed=dynamic_cast(obj);
....
};


Ecли оbj можно привести к типу Edit* - то он приведется. Иначе ed будет равно 0.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)