Практическая работа №1 Реализация[править


Динамическая идентификация типа данных


Download 20.25 Kb.
bet2/2
Sana17.06.2023
Hajmi20.25 Kb.
#1540246
TuriПрактическая работа
1   2
Bog'liq
Презентация1

Динамическая идентификация типа данных (англ. run-time type information, run-time type identification, RTTI) — механизм в некоторых языках программирования, который позволяет определить тип данных переменной или объекта во время выполнения программы.
  • Неизвестные типы и пространство неизвестных имен. Динамическое определение типов. Операторы переключения типов. Создание пространства новых имен. Буферизированный вход и выход. Содержание: Динамическая идентификация типов. Оператор typeid().
  • Динамическая идентификация типов. Операторы dynamic_cast, const_cast, reinterpret_cast, static_cast.
  • Пространства имен. Ключевые слова namespace, using. Правила создания пространства имен. Глобальное пространство имен. Динамическая идентификация типов. Оператор typeid(). 1. Понятие о динамической идентификации типа.В целях поддержания динамического полиморфизма в языке C++ введена динамическая идентификация типа (RTTI – Run-Time Type Identification). Эта динамическая идентификация позволяет идентифицировать тип объекта при выполнении программы. Основным средством динамической идентификации типа является оператор typeid().С целью обеспечения лучшего приведения типов в последние версии C++ включены дополнительные операторы приведения типа. К этим операторам относятся: dynamic_cast; const_cast; reinterpret_cast; static_cast.

  • Также язык C++ имеет стандартный оператор приведения типа, который имеет вид: (type)expression 2. Идентификация типа. Операор typeid() Язык программирования C++ поддерживает динамический полиморфизм благодаря сочетанию наследования, виртуальных функций и использования указателя на базовый класс. В иерархии классов указатель на базовый класс может указывать на экземпляр любого класса в иерархии. Поэтому не всегда можно предположить, на объект какого класса иерархии указывает указатель. Идентификацию типа нужно производить по ходу выполнения программы.Для идентификации типа в языке C++ используется оператор typeid(). Этот оператор имеет две формы использования: typeid(object) – определение характеристик типа объекта или переменной с именем object; typeid(type) – определение характеристик типа с именем type.Оператор typeid() возвращает ссылку на объект типа type_info. Класс type_info описывает тип объекта и имеет следующие внутренние члены: Операторные функции bool operator==(const type_info& obj); bool operator!=(const type_info& obj); Эти функции перегружают операторы сравнения == и !=.Функциюconst char* name(); Эта функция возвращает указатель на имя определяемого типа. Функцию bool before(const type_info& obj); Эта функция возвращает true, если вызывающий объект предшествует объекту, использованному в качестве параметра.Чтобы использовать оператор typeid(), нужно подключить модуль typeinfo. #include

Download 20.25 Kb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling