Оператор typeid
В языке C++ оператор typeid возвращает ссылку на объект type_info, описывающий тип объекта, к которому принадлежит оператор typeid. общая форма записи оператора typeid такова. typeid(объект) Оператор typeid поддерживает в языке C++ возможность идентификации динамической информации о типе (RTTI). Класс type_info определяет следующие открытые члены. bool operator == (const type_info &ob) const; bool operator != (const type_info &ob) const; bool before (const type_info &ob) const; const char *name() const; Перегруженные операторы == и != служат для сравнения типов. Функция before() возвращает значение true, если возвращающий объект в порядке сопоставления стоит перед объектом, используемым в качестве параметра. Эта функция предназначена в основном для внутреннего использования. Её значение возврата не имеет нечего общего с наследованием или иерархией классов. Функция name() возвращает указатель на имя типа. Если оператор typeid применяется к указателю полиморфного класса, он автоматически возвращает тип объекта, на который он указывает. (полиморфный класс — это класс который содержит хотя-бы одну виртуальную функцию.) Следовательно, оператор typeid можно использовать для определения типа объекта, адресуемого указателем на базовый класс. В языке C оператор typeid не поддерживается. |
Нет комментариев. Оставить комментарий: |