Скачать тест — (Введение в объектно-ориентированное программирован_b0ef3356.pdf)
- Метод, принадлежащий классу и соотнесенный с классом (статический метод), может быть вызван сам по себе и имеет доступ к …
- Модификаторы доступа в объектно-ориентированных языках являются …
- Классы в программе могут соответствовать:
- Класс – это …
- Объект — это …
- Идея объектно-ориентированного программирования была основана на …
- Определите соответствие между терминами и определениями:
- Определите соответствие между открытиями и их создателями:
- Определите соответствия между языками и видами программирования.
- Определите в исторической последовательности открытия в программировании:
- Определите создание языков программирования в исторической последовательности (от старого до нового):
- Определите последовательность, в которой развивалось направление объектно-ориентированного программирования:
- На практике, объектно-ориентированное программирование сводится к созданию некоторого количества классов, включая интерфейс и реализацию, и последующему их использованию. Графическое представление некоторого количества классов и связей между ними называется диаграммой классов. Объектно-ориентированный подход, за время своего развития, накопил множество рекомендаций (паттернопо созданию классов и иерархий классов. Предсказать результат следующей программы. На экран выведется строка «Compiler Error», т.к. компилятор увидит ошибку в строке 1.
- Как и структуры, классы могут задавать поля, то есть, переменные, принадлежащие либо непосредственно самому классу (статические), либо экземплярам класса (обычные). Статические поля существуют в одном экземпляре на всю программу (или, в более сложном варианте, — в одном экземпляре на процесс или на поток/нить). Обычные поля создаются по одной копии для каждого конкретного объекта — экземпляра класса. Представлен код программы. Какой результат выполнения?
- В объектно-ориентированной программе с применением классов, каждый объект является «экземпляром» некоторого конкретного класса, и других объектов не предусмотрено. То есть, «экземпляр класса» в данном случае означает не «пример некоторого класса» или «отдельно-взятый класс», а «объект, типом которого является какой-то класс». При этом, в разных языках программирования допускается, либо не допускается существование еще каких-то типов данных, экземпляры которых не являются объектами. Перед Вами код. Опишите его работу.
- Конструктор – это…
- Деструктор – это…
- При передаче параметра по значению, конструктор будет вызываться рекурсивно, поэтому он должен иметь в качестве параметра …
- Перегруженные функции подчиняются тем же правилам относительно типов параметров, что и …
- В процессе выполнения операции присваивания между существующими объектами одного типа обычно вызывается …
- Варианты использования больше всего нужны для того, …
- Конструктор копирования вызывается …
- Установите соответствие между терминами и определениями
- Когда вызывается конструктор, автоматически создаются объекты при определенных условиях. Определите соответствие между объектами и условиями создания конструктора.
- При автоматическом вызове деструктора, для объектов при определенных условиях, определите соответствие между объектами и условиями уничтожения.
- Проставьте последовательность создания конструктора
- Определите последовательность действий, если есть два класса, один из которых базовый, а другой — унаследованный от базового.
- Конструктор является типом метода класса, который автоматически вызывается при создании объекта этого же класса, а деструктор — это тип метода класса, который выполняется при удалении объекта класса. Ниже представлен код, подумайте какой тип метода класса здесь используется. Опишите код программы:
- Предсказать результат следующей программы:
- В отличие от обычных методов, конструкторы имеют определенные правила их именования: конструкторы всегда должны иметь то же имя, что и класс (учитываются верхний и нижний регистры), конструкторы не имеют типа возврата (даже void). Перед Вами код. Опишите его результат.
- В обычном режиме компилятор автоматически формирует конструктор копирования для каждого класса, однако, в некоторых случаях, программист формирует конструктор копирования, называемый …
- Конструктор копирования вызывается…
- При передаче параметра по значению, конструктор будет вызываться рекурсивно, поэтому он должен иметь…
- «Закон Большой Тройки» или «Правило трёх» — правило в C++ гласит, что если класс или структура определяет один из следующих методов, то они должны явным образом определить все три метода. Какие три метода нужны?
- Оператор присваивания – это…
- Существует два вида операций присваивания – это…
- Операторы присваивания хранят значение в объекте, указанном левым операндом. Установите соответствие между операторами и их значениями:
- Операторы присваивания хранят значение в объекте, указанном левым операндом. Установите соответствие между операторами и их значениями
- Операторы присваивания хранят значение в объекте, указанном левым операндом. Установите соответствие между операторами и их значениями.
- Проставьте последовательность алгоритма процесса присваивания.
- Оператор простого присваивания ( = ) вызывает сохранение значения второго операнда в объекте, указанном первым операндом. Если оба объекта имеют арифметические типы, правый операнд преобразуется в тип слева перед сохранением значения. Посмотрите код и напишите алгоритм его создания.
- Оператор присваивания не может быть объявлен как «дружественный» к классу. Если перегрузить оператор присваивания как «дружественный» к классу, то это означает, что будет перегруженный глобальный оператор присваивания, который вызывается для экземпляров классов автоматически. Это, в свою очередь, может привести к путанице в операциях присваивания и увеличении невидимых ошибок. Поэтому, компиляторы языка C++ не допускают перегружать оператор присваивания как «дружественный» к классу. Посмотрите код и напишите алгоритм его создания.
- Описать работу кода программы:
- Функция operator++() может создавать новый объект класса для использования его в качестве возвращаемого значения. Опишите работу кода:
- Операция присваивания копированием отличается от конструктора копирования тем, что должна очищать члены-данные цели присваивания (и правильно обрабатывать самоприсваивание), тогда как конструктор копирования присваивает значения неинициализированным членам-данным. Опишите работу кода:
- Оператор простого присваивания ( = ) вызывает сохранение значения второго операнда в объекте, указанном первым операндом. Если оба объекта имеют арифметические типы, правый операнд преобразуется в тип слева перед сохранением значения. Посмотрите код и напишите алгоритм его создания.
- Оператор присваивания не может быть объявлен как «дружественный» к классу. Если перегрузить оператор присваивания как «дружественный» к классу, то это означает, что будет перегруженный глобальный оператор присваивания, который вызывается для экземпляров классов автоматически. Это, в свою очередь, может привести к путанице в операциях присваивания и увеличении невидимых ошибок. Поэтому, компиляторы языка C++ не допускают перегружать оператор присваивания как «дружественный» к классу. Посмотрите код и напишите алгоритм его создания.
- Оператор разрешения обычно …
- К преимуществам использования наследования не относится:
- Назначение наследования состоит в том, чтобы:
- Механизм формирования новых классов из уже существующих или базовых классов – это …
- Укажите первую строку описания класса Tire, который является производным классов Wheel и Rubber:
- Общий синтаксис механизма наследования выглядит следующим образом:
- Установите соответствие между терминами и определениями:
- Установите соответствие между типами наследования и их значениями
- Установите соответствие между операциями в наследовании и их значениями
- Проставьте последовательность выполнения представленного кода:
- Проставьте последовательность создания кода:
- Проставьте последовательность создания кода простого наследования:
- Описать код программы:
- Важный момент при наследовании – это перегруженные функции-методы класса-потомка. Если в классе-родителе и в его классах-потомках встречаются методы с одинаковым именем, то для объектов класса-потомка компилятор будет использовать методы именно класса-потомка. Перегруженные методы класса-потомка, могут вызывать методы класса-родителя. В таком случае, важно помнить, что необходимо правильно определить область действия с помощью оператора «::». Иначе, компилятор воспримет это, как вызов функцией самой себя. Наглядно, если бы мы перегрузили в классе функцию — это выглядело бы так. Опишите, что указывает данная запись кода.
- В определенных ситуациях могут появиться проблемы, связанные со множественным наследованием. Допустим, что в обоих базовых классах существуют методы с одинаковыми именами, а в производном классе метода с таким именем нет. Рассмотрим пример. Как в этом случае объект производного класса определит, какой из методов базовых классов выбрать?
- Для объявления функции как виртуальной используется ключевое слово…
- Обычно компиляторы при обработке виртуальных функций добавляют к каждому объекту скрытый элемент, который содержит указатель на массив адресов функций, называемый …
- Полиморфизм в объектно-ориентированном программировании реализуется:
- Шаблон функции — это…
- Для указания на объект производного класса можно воспользоваться …
- Множественное наследование – это …
- Установите соответствие между терминами и определениями:
- Установите соответствие между терминами и определениями:
- Установите соответствие между термином и его определением.
- Установите порядок выполнения конструкторов при порождении из нескольких классов:
- Если есть два класса, один из которых базовый, а другой — унаследованный от базового, то последовательность вызовов следующая:
- Ниже представлен код, проставьте последовательность действий, которая произведена в этом коде:
- Перед Вами код с перегрузкой методов. Выберите правильное описание работы кода.
- Перед Вами код. Выберите, какой результат кода:
- Перед Вами код. Выберите, какой будет результат кода:
- Контейнерные классы – это…
- Библиотека стандартных шаблонов – это …
- Итераторы – это …
- Контейнеры делятся на два вида — это …
- Какой вид контейнеров обеспечивают хранение конечного количества однотипных величин в виде непрерывной последовательности?
- Стандартизованный интерфейс могут предоставлять:
- Контейнерные классы – это классы, предназначенные для хранения данных, организованных определенным образом. Контейнеры бывают двух видов – ассоциативные и последовательные. Установите соответствие между терминами и определениями контейнерных классов.
- Каждый контейнерный класс имеет 4 основных метода для работы с оператором — метод begin(),метод end(),метод cbegin(),метод cend(). Установите соответствие между названием метода контейнерного класса и его описанием.
- Контейнерные классы – это классы, предназначенные для хранения данных, организованных определенным образом. Контейнеры бывают двух видов – ассоциативные и последовательные. Установите соответствие между терминами и определениями контейнерных классов.
- Проставьте порядок выполнения кода поэтапно.
- Проставьте последовательность функций классов-контейнеров в языке C++.
- Пример работы с контейнером приведен ниже. В файле находится произвольное количество целых чисел. Программа считывает их в вектор и выводит на экран. Опишите последовательность кода:
- Векторы — это умные массивы. Они занимаются автоматическим размещением себя в памяти, расширением и сужением своего размера по мере вставки или удаления данных. Векторы можно использовать в какой-то мере как массивы, обращаясь к элементам с помощью привычного оператора []. Случайный доступ выполняется очень быстро в векторах. Также, довольно быстро осуществляется добавление (или проталкиваниновых данных в конец вектора. Когда это происходит, размер вектора автоматически увеличивается для того, чтобы было, куда положить новое значение. Рассмотрим код программы.
- Стек – это динамическая структура сохранения данных, которая работает по принципу «последний пришел — первый вышел» (Last-In First-Out). В стеке добавление новых элементов и удаление существующих элементов производится с одного конца, который называется вершиной стека. Организация данных с помощью стека эффективна, когда нужно реализовать: — обмен данными между методами приложения с помощью параметров; — синтаксический анализ разнообразных выражений. Рассмотрим пример. Выберете, что будет результатом программы:
- Для работы с очередью вам понадобится знать функции: push(), pop(), front(), back(), empty(). 1) Для добавления в очередь нового элемента нужно воспользоваться функцией — push(). В круглых скобках должно находится значение, которое мы хотим добавить. 2) Если нам понадобилось удалить первый элемент, нужно оперировать функцией pop(). В круглых скобках уже ничего не нужно указывать, но по правилам они в обязательном порядке должны присутствовать! Эти функции тоже не нуждаются в указании аргумента: empty(), back() и front(). 3) Если вам понадобилось обратиться к первому элементу очереди, то вам понадобится функция front(). 4) Чтобы обратиться к последнему элементу в очереди, вам поможет функция back(). 5) Чтобы узнать, пуста ли очередь, нужно воспользоваться функцией empty(). — Если ваша очередь пуста — возвратит true. — Если же в ней что-то есть — возвратит false. В коде использовались все перечисленные методы. Выберете, что будет результатом программы.
- Обработка исключительной ситуации – это …
- Оператор присваивания – это …
- Исключение – это …
- В C ++ с помощью ключевого слова «throw» функция может …
- Исключительные ситуации, возникающие при работе программы, можно разделить на два основных типа:
- Процесс целочисленного деления на ноль является
- Механизм исключений использует три слова C++: catch, throw и try. Установите соответствие между терминами и определениями:
- Алгоритмы в STL выполняют сложные операции, типа сортировки и поиска. Однако, для выполнения более простых операций, специфичных для конкретного контейнера, требуются методы. Установите соответствие между методом и назначением.
- При работе программ возникают исключительные ситуации, когда дальнейшее нормальное выполнение приложения становится невозможным. Чтобы справиться с этими ситуациями, программисту помогают средства С++ catch, try и throw. Установите соответствие между конструкцией и описанием ее функции.
- Проставьте последовательность действий программы при возникновении ошибки.
- Проставьте последовательность действий процесса обработки исключений, возбужденных оператором throw:
- Проставьте последовательность стандартных исключений в иерархии родительско-дочерних классов.
- Рассмотрим программный код, представленный в листинге. Он очень простой. Каким будет результат, если после выполнения программы ввести отрицательное число?
- В представленной программе используются throw, try и catch вместе. Результат выполнения программы: We caught an int exception with value -1. Continuing our way! Опишите, как работают блоки программы:
- Рассмотрим пример использования блока try…catch Текст программы типа Console Application следующий. Какой будет результат программы?
- Модификаторы доступа являются ключевыми слова, которые задают параметры доступа для классов, методов и прочих элементов в …
- В определении класса члены класса с ключевым словом private доступны:
- Методу класса всегда доступны данные:
- Шаблон для создания объектов, обеспечивающий начальные значения состояний: инициализация полей-переменных и реализация поведения функций или методов – это …
- Структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе понятии – это …
- Метод программирования, идея которого была основана на представление программы, как совокупность объектов – это…
- Установите соответствие между терминами и определениями:
- Установите соответствие между открытиями и их создателями:
- Установите соответствия между языками и видами программирования.
- Проставьте открытия в программировании в исторической последовательности:
- Проставьте создание языков программирования в исторической последовательности (от старого до нового):
- Проставьте историческую последовательность: как после появления объектно-ориентированного программирования развивалось это направление:
- Предсказать результат следующей программы:
- Представлен код программы. Какой результат выполнения?
- Перед Вами код. Опишите его работу.
- Специальная функция класса, которая вызывается при создании нового объекта этого класса и предоставляет возможность инициализировать объекты во время их создания и гарантировать, что все данные члены будут иметь корректные значения это …
- Специальный метод без параметров, имя которого состоит из символа ~ и имени класса это …
- Конструктор копирования должен иметь в качестве параметра ссылку, потому что …
- Конструкторы подчиняются тем же правилам относительно типов параметров, что и …
- При выполнении операции присваивания между существующими объектами одного типа вызывается …
- Варианты использования (кроме всего прочего) нужны для:
- При описании нового объекта с инициализацией другим объектом этого же типа вызывается …
- Установите последовательность создания конструктора:
- Если есть два класса, один из которых базовый, а другой — унаследованный от базового, то последовательность вызовов следующая:
- Конструктор — это особый тип метода класса, который автоматически вызывается при создании объекта этого же класса. Деструктор — это специальный тип метода класса, который выполняется при удалении объекта класса. В то время, как конструкторы предназначены для инициализации класса, деструкторы предназначены для очистки памяти после него. Т.о., опишите код программы:
- Предсказать результат следующей программы:
- Перед Вами код. Опишите его результат.
- Обычно, компилятор автоматически создает конструктор копирования для каждого класса, но в некоторых случаях, программист создает конструктор копирования, называемый:
- Специальный конструктор в языке программирования C++, и в некоторых других языках программирования, применяемый для создания нового объекта, как копии уже существующего:
- Конструктор копирования должен иметь в качестве параметра ссылку, потому что …
- Правило трёх (также известное как «Закон Большой Тройки» или «Большая Тройка») — это правило в C++, гласящее, что если класс или структура определяет один из следующих методов, то они должны явным образом определить все три метода:
- Особый вид оператора присваивания, используемый для присваивания объектов одного класса друг другу …
- Операторы присваивания хранят значение в объекте, указанном левым операндом. Существует два вида операций присваивания:
- Установите соответствие между операторами и их значениями:
- Установите соответствие между операторами и их значениями
- Установите соответствие между операторами и их значениями
- Проставьте последовательность алгоритма процесса присваивания
- Посмотрите код и напишите алгоритм его создания:
- Посмотрите код и напишите алгоритм его создания
- Описать работу кода программы:
- Описать работу кода программы:
- Операция присваивания копированием – это особый вид операции присваивания, используемый для присваивания объектов одного класса друг другу. Является одним из особых членов-функций и генерируется автоматически компилятором в случае, если нет явного объявления программистом. Код, сгенерированный компилятором и выполняет побитовое копирование. Операция присваивания копированием отличается от конструктора копирования тем, что должна очищать члены-данные цели присваивания (и правильно обрабатывать самоприсваивание), тогда как конструктор копирования присваивает значения неинициализированным членам-данным. Опишите работу кода программы:
- Предположим, что класс Derv является частным производным класса Base. Мы определяем объект класса Derv, расположенный в функции main(). Через него мы можем получить доступ к:
- Иерархия классов …
- Использование виртуальных функций для полиморфной обработки родственных объектов относят к:
- Процесс создания новых классов, называемых наследниками или производными классами, из уже существующих или базовых классов– это …
- Роль наследования в объектно-ориентированном программировании заключается в:
- Синтаксис наследования выглядит так:
- Основное преимущество наследования – это возможность повторного использования кода. Укажите последовательность выполнения представленного кода:
- Укажите последовательность написания кода:
- Как решить вопрос о том, какой из спецификаторов использовать при наследовании? В большинстве случаев, производный класс представляет собой улучшенную или более специализированную версию базового класса. В случае, когда объект производного класса предоставляет доступ как к общим методам базового класса, так и к более специализированным методам своего класса, имеет смысл воспользоваться общим наследованием. Проставьте последовательность создания кода простого наследования:
- Ключевыми элементами методологии объектно-ориентированного проектирования, связанного с наследованием относят: 1) выбор надлежащей совокупности типов; 2) проектирование взаимосвязей между типами и применение наследования для использования общего кода; 3) использование виртуальных функций для полиморфной обработки родственных объектов. Опишите код программы, содержащую наследование:
- Важный момент при наследовании — это перегруженные функции — методы класса-потомка. Если в классе-родителе и в его классах-потомках встречаются методы с одинаковым именем, то для объектов класса-потомка, компилятор будет использовать методы именно класса-потомка. Перегруженные методы класса-потомка, могут вызывать методы класса-родителя. В таком случае, важно помнить, что необходимо правильно определить область действия с помощью оператора «::». Иначе, компилятор воспримет это, как вызов функцией самой себя. Наглядно, если бы мы перегрузили в классе функцию — это выглядело бы так. Опишите, что указывает данная запись кода:
- Роль наследования в ООП такая же, как у функций в процедурном языке программирования, т.е. сократить размер кода и упростить связи между элементами программы. В определенных ситуациях могут появиться некоторые проблемы, связанные со множественным наследованием. Рассмотрим наиболее общую проблему. Допустим, что в обоих базовых классах существуют методы с одинаковыми именами, а в производном классе метода с таким именем нет. Рассмотрим пример. Как в этом случае объект производного класса определит, какой из методов базовых классов выбрать?
- ключевое слово virtual используется …
- Когда используется таблица виртуальных функций?
- Что реализуется через механизмы перегрузки (функций и операций), виртуальные функции и шаблоны?
- Определение функции, в которой типу обрабатываемых данных присвоено условное обозначение — это…
- Указателем базового класса можно воспользоваться для …
- Множественное наследование – это наследование, при котором создание производного класса основывается на …
- Опишите процесс выполнения конструкторов при порождении из нескольких классов поэтапно.
- Если существует два класса, один базовый, другой унаследованный от базового, то при необходимости вызова, последовательность будет следующая:
- Проставьте последовательность процесса написания представленного кода:
- Перегрузка методов это механизм, который позволяет создавать несколько методов с одним и тем же именем. В результате создается иллюзия, что можно вызывать метод с разными аргументами. Перед Вами код перегрузки функции. Выберите правильное описание работы кода.
- При множественном наследовании может сложиться ситуация, когда один и тот же базовый класс наследуется (через разные цепочки наследования) в производном классе несколько раз. Обычно, в этом ничего хорошего нет, т.к. нередко такие ситуации приводят к ошибкам. С другой стороны, совсем избежать подобных ситуаций бывает проблематично. Выход состоит в том, чтобы при создании цепочки наследования, использовать виртуальные базовые классы. Перед Вами код. Выберите, какой будет результат кода.
- Виртуальные методы – это один из важнейших приёмов реализации полиморфизма. Они позволяют создавать общий код, который может работать как с объектами базового класса, так и с объектами любого его класса-наследника. При этом, базовый класс определяет способ работы с объектами, и любые его наследники могут предоставлять конкретную реализацию этого способа. Общий шаблон объявления чисто виртуального метода следующий:
- Классы, предназначенные для хранения данных, организованных определенным образом:
- Набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++
- Сущности, использующиеся для получения доступа к отдельным данным в контейнере.
- Контейнеры бывают …
- Последовательные контейнеры …
- Все контейнерные классы предоставляют …
- Проставьте порядок выполнения кода поэтапно.
- Проставьте последовательность функций классов-контейнеров в языке C++
- Пример работы с контейнером приведен ниже. В файле находится произвольное количество целых чисел. Программа считывает их в вектор и выводит на экран. Опишите последовательность кода:
- Векторы — это умные массивы. Они занимаются автоматическим размещением себя в памяти, расширением и сужением своего размера по мере вставки или удаления данных. Векторы можно использовать в какой-то мере как массивы, обращаясь к элементам, с помощью привычного оператора []. Случайный доступ выполняется очень быстро в векторах. Также, довольно быстро осуществляется добавление (или проталкиваниновых данных в конец вектора. Когда это происходит, размер вектора автоматически увеличивается для того, чтобы было куда разместить новое значение. Рассмотрим код программы. Выберете, что демонстрирует данный пример.
- Стек – это динамическая структура сохранения данных, которая работает по принципу «последний пришел — первый вышел» (Last-In First-Out). В стеке добавление новых элементов и удаление существующих элементов производится с одного конца, который называется вершиной стека. Организация данных с помощью стека эффективна, когда нужно реализовать: обмен данными между методами приложения с помощью параметров; синтаксический анализ разнообразных выражений. Рассмотрим пример. Выберете, что будет результатом программы:
- Для работы с очередью вам понадобится знать функции: push(), pop(), front(), back(), empty(). 1) Для добавления в очередь нового элемента нужно воспользоваться функцией — push(). В круглых скобках должно находится значение, которое мы хотим добавить. 2) Если нам понадобилось удалить первый элемент нужно оперировать функцией pop(). В круглых скобках уже ничего не нужно указывать, но по правилам, они должны присутствовать! Эти функции не нуждаются в указании аргумента: empty(), back() и front(). 3) Если вам понадобилось обратиться к первому элементу очереди, то вам понадобится функция front(). 4) Чтобы обратиться к последнему элементу в очереди, вам поможет функция back(). 5) Чтобы узнать, пуста ли очередь, нужно воспользоваться функцией empty(). Если ваша очередь пуста — возвратит true. Если в ней что-то есть — возвратит false. В коде (нижмы использовали все выше перечисленные методы. Выберете, что будет результатом программы:
- Механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы, и приводят к невозможности дальнейшей отработки программой её базового алгоритма – это:
- Особый вид оператора, используемый для присваивания объектов одного класса друг другу – это…
- Реакция на исключительное обстоятельство, которое возникает во время работы программы — это …
- В C ++ функция может указывать исключения, которые она генерирует, с помощью ключевого слова:
- Исключительные ситуации, возникающие при работе программы, можно разделить на два основных типа:
- Классическим примером исключительной ситуации в С++ является:
- Проставьте последовательность работы конструкций исключительных ситуации:
- Обработка исключений, возбужденных оператором throw, идет по следующей схеме:
- Проставьте последовательность стандартных исключений в иерархии родительско-дочерних классов.
- Мы рассмотрим ситуацию создания динамического массива. В программе для обработки исключительных ситуаций создадим динамический массив. Единственная особенность программы в том, что размер создаваемого массива определяется пользователем уже в процессе выполнения программы: при запуске программы, появляется сообщение с просьбой ввести целое число, число считывается, и в соответствии со считанным значением создается динамический массив. Рассмотрим программный код. Каким будет результат, если после выполнения программы ввести отрицательное число.
- В представленной программе используются throw, try и catch вместе. Результат выполнения программы следующий: We caught an int exception with value -1. Continuing our way! Опишите как работают блоки.
- Чтобы в блоке try сгенерировать исключительную ситуацию, нужно использовать оператор throw. Оператор throw может быть вызван внутри блока try или внутри функции, которая вызывается из блока try. Общая форма оператора throw: throw исключение; В результате выполнения оператора throw генерируется исключение некоторого типа. Это исключение должно быть обработано в блоке catch. Рассмотрим пример использования блока try…catch. Демонстрируется использование блока try…catch для обработки выражения. В данном выражении, в трех случаях может возникнуть исключительная ситуация: — корень из отрицательного числа a, если a