Презентация Приведение типов. Механизм исключений. Задача на разбор командной строки онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Приведение типов. Механизм исключений. Задача на разбор командной строки абсолютно бесплатно. Урок-презентация на эту тему содержит всего 21 слайд. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Приведение типов. Механизм исключений. Задача на разбор командной строки



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    21 слайд
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    102.97 kB
  • Просмотров:
    81
  • Скачиваний:
    0
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Осенний семестр Преподаватель
Содержание слайда: Осенний семестр 2017 Преподаватель: асс. каф. Чуканов В.С

№2 слайд
Содержание Исключения
Содержание слайда: Содержание Исключения Исключения в конструкторах и деструкторах Операторы приведения типов Постановка задачи: разбор аргументов командной строки Описание базового класса переменной Описание произвольной переменной Менеджер переменных

№3 слайд
Исключения Механизм
Содержание слайда: Исключения Механизм исключений Регламентирует редко случающиеся ситуации, влекущие радикальные изменения в текущем поведении программы либо прекращение ее работы Код, генерирующий исключения Помещается в блок try { } Исключения создаются вызовом throw [exception_object]; Код, обрабатывающий исключения Помещается в блок catch {}

№4 слайд
Объекты-исключения Семантика
Содержание слайда: Объекты-исключения Семантика Данные об ошибке std::exception Базовый класс исключения в стандартной библиотеке Все исключения стд. библиотеки наследованы от std::exception Объекты-исключения В качестве объекта-исключения может выступать любой класс Классы исключений могут быть организованы в иерархию

№5 слайд
Обработка исключений catch
Содержание слайда: Обработка исключений catch блоки обрабатываются в порядке объявления catch (…) { } Ловит любое исключение Должен быть объявлен последним catch (BaseClass &b) Должен быть объявлен после всех наследников

№6 слайд
Обработка исключений
Содержание слайда: Обработка исключений Обработка исключения = развертка стека вызовов При возникновении исключения поиск обработчика заканчивается во внешнем блоке try .. catch, в который «обернут» main (winmain) Попадание в этот блок ведет к вызову функции terminate() Возникновение исключения во время развертки стека = вызов terminate()

№7 слайд
Исключения в конструкторах и
Содержание слайда: Исключения в конструкторах и деструкторах Исключение в конструкторе Объект не является созданным, и тело деструктора не будет вызвано Деструкторы предков и полей вызываются в стандартном порядке Исключение в деструкторе При возникновении на этапе развертки стека вызовов приведет к вызову terminate() Следует избегать ОБА ВАРИАНТА использования исключений

№8 слайд
Операторы приведения типов
Содержание слайда: Операторы приведения типов type_to_cast a = static_cast <type_to_cast> (b); Приведение объекта b к типу type_to_cast Проверка уровня компиляции type_to_cast *a = dynamic_cast <type_to_cast*> (b); Используется для приведения типов с проверкой в run-time (RTTI, run-time type info) При неудаче вернет NULL type_to_cast &a = dynamic_cast <type_to_cast&> (b); В случае ошибки порождает исключение std::bad_cast const_cast Снимает модификаторы const и volatile reinterpret_cast Максимально небезопасное приведение типов Конвертация указателя в int, любого типа в любой другой

№9 слайд
Ассоциативный контейнер map
Содержание слайда: Ассоциативный контейнер map std::map Отсортированная структура данных, состоящая из пар ключ-значение Реализует красно-черное дерево Тип «ключа» должен иметь оператор сравнения Операции (ключ = std::string) Объявление std::map<std::string, int> mymap; Добавление mymap[“firstVal”] = 10; Поиск std::map<std::string, int>::iterator – тип итератора по контейнеру std::map<std::string, int>::iterator it = mymap.find(“firstVal”); it == mymap.end() – верно в случае отсутствия элемента в контейнере

№10 слайд
Разбор аргументов командной
Содержание слайда: Разбор аргументов командной строки Параметры ком. строки Пара «имя» «значение» Значение может быть произвольного типа Значение считывается из строки Задача: разработать класс для обработки командной строки Регистрация имени новой переменной Установка значения по умолчанию для переменной Возврат значения по имени переменной Заполнение значений переменных по массиву argV и кол-ву аргументов argC

№11 слайд
Класс переменной Пара имя -
Содержание слайда: Класс переменной Пара «имя» - «значение» Переменная = значение Класс переменной Унифицированный интерфейс для хранения значения любого типа Интерфейс для извлечения значения любого типа из строки

№12 слайд
Базовый класс переменной
Содержание слайда: Базовый класс переменной Любой унифицированный интерфейс = базовый класс

№13 слайд
Класс переменной реализация
Содержание слайда: Класс переменной: реализация Потомок = шаблон Для каждого фиксированного типа реализуется set_value() Хранение любых наследников возможно по указателю на базовый класс

№14 слайд
Менеджер переменных Поля
Содержание слайда: Менеджер переменных Поля

№15 слайд
Регистрация новой переменной
Содержание слайда: Регистрация новой переменной Тип неизвестен = шаблонный метод Тип специализации класса-переменной = типу специализации метода регистрации переменной

№16 слайд
Получение значения переменной
Содержание слайда: Получение значения переменной Для указания значения переменной необходимо указать тип Метод - шаблонный Алгоритм Поиск по имени переменной Тип специализации метода = тип специализации наследника variable Приведение к типу наследника dynamic_cast

№17 слайд
Получение значения переменной
Содержание слайда: Получение значения переменной: реализация

№18 слайд
Закрытый метод set value
Содержание слайда: Закрытый метод set_value Поиск переменной и установка значения

№19 слайд
Парсинг командной строки
Содержание слайда: Парсинг командной строки

№20 слайд
Указание реализаций set value
Содержание слайда: Указание реализаций set_value Компилятору необходимо указать реализации для всех используемых в коде специализаций variable

№21 слайд
Заключение Исключения
Содержание слайда: Заключение Исключения Механизм детектирования и обработки ошибок Необходимо избегать возникновения исключений в к-торах и д-торах Приведение типов static_cast – проверка только на уровне компиляции (ближе к C-style) dynamic_cast – проверка в run-time Составление контейнеров объектов разных типов Требует дополнительной иерархии Наследник = шаблон Хранение по указателю на базовый класс Может требовать dynamic_cast

Скачать все slide презентации Приведение типов. Механизм исключений. Задача на разбор командной строки одним архивом: