| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Проверка типа объекта в С++ |
| Автор: -= Demon =- 4.10.2002, 22:51 |
| Как в С++ проверить, кокой тип у объекта (аналог 'is' и 'as' в Delphi)? Напр. if Sender is TEdit then (Sender as TEdit).Text := 'hrjfhgj'; ................... |
| Автор: Baa 4.10.2002, 23:01 |
| http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=1;t=3002;hl=cast |
| Автор: -= Demon =- 4.10.2002, 23:22 |
| > Baa Хотелось бы увидеть более вразумительный ответ, а не набор "чего-то". Я не "сишник", но сейчас стоит задача сделать блок именно на С++. Поэтому прошу "пошагово" объяснить: 1) if Object is TEdit; 2) (Object as TEdit).Name := ..... |
| Автор: Fantasist 5.10.2002, 02:43 |
| Ничего типа is в С++ нет. Типа as это dynamic_cast. Он правда одновременно и типа is. int fn(Object *obj) { Edit *ed=dynamic_cast<Edit*>(obj); .... }; Ecли оbj можно привести к типу Edit* - то он приведется. Иначе ed будет равно 0. |
| Автор: neutrino 9.10.2002, 22:21 |
| Эта тема есть в нашем FAQ: http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?act=ST;f=31;t=1125 |