C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как определить какого класса объект?
telepath
Отправлено: 14.12.2004, 13:34


Станционный диспетчер

Группа: Участник
Сообщений: 132



Если неизвестен класс объекта находящегося в TreeNode->Data, как его узнать или сравнить имя класса?
olegenty
Отправлено: 14.12.2004, 16:20


Ветеран

Группа: Модератор
Сообщений: 2412



1. dynamic_cast< тип>( экземпляр )
2. (если пронаследован от TObject) преобразовать к указателю на TObject и посмотреть ClassName ( static_cast< TObject*>(TTreeNode->Data)->ClassName() )
telepath
Отправлено: 14.12.2004, 16:44


Станционный диспетчер

Группа: Участник
Сообщений: 132



А если это какая-то структура которую я сам объявлял?
Konstantine
Отправлено: 14.12.2004, 17:56


Мастер участка

Группа: Модератор
Сообщений: 545



а ты только этого типа структуру будешь записывать?
если да, то инизиализируй значением NULL, когда ничё не записано....
telepath
Отправлено: 15.12.2004, 10:12


Станционный диспетчер

Группа: Участник
Сообщений: 132



нет, там могут быть три разных структуры
Konstantine
Отправлено: 15.12.2004, 10:20


Мастер участка

Группа: Модератор
Сообщений: 545



их нада наследовать от одной структуры, в поле которой ты и записываешь какой класс хранишь...

а вообще — давай коды структур своих.... и расскажи что и как будет применяться — так проще для понимания
telepath
Отправлено: 15.12.2004, 10:43


Станционный диспетчер

Группа: Участник
Сообщений: 132



Все, понял, спасибо, что-то не подумал про наследование smile.gif

Вернуться в Вопросы программирования в C++Builder