Все тесты предмета

Ответы на тесты Введение в объектно-ориентированное программирование.ои(dor)

Вопросы и варианты доступны бесплатно. 31 ответ доступен бесплатно — откройте их кнопкой ниже. Полный набор — в личном кабинете на 7 дней.

105 вопросов 7 тестов в одном предмете Доступ 7 дней
Содержание предмета

Бесплатные ответы на тесты по предмету «Введение в объектно-ориентированное программирование.ои(dor)» — Синергия и МТИ

Вопрос 1Ответ открыт бесплатно

Метод, принадлежащий классу и соотнесенный с классом (статический метод), может быть вызван сам по себе и имеет доступ к …

  1. любой функции программы
  2. только открытым членам класса
  3. статическим переменным класса✓ Правильный ответ
✓ Правильный ответ

статическим переменным класса

Вопрос 2

Модификаторы доступа в объектно-ориентированных языках являются …

  1. ключевые слова, которые задают параметры доступа для классов
  2. вариантами использования классов
  3. объектами класса, членами которого они являются
Вопрос 3

Классы в программе могут соответствовать:

  1. существительным в описаниях вариантов использования
  2. вариантам использования
  3. ассоциациям в диаграммах UML
  4. именам знаменитых программистов
Вопрос 4

Класс – это …

  1. конструктор, принимающий на входе значение неконстантной ссылки на объект класса, используется для передачи владения ресурсами этого объекта
  2. шаблон для создания объектов, обеспечивающий начальные значения состояний: инициализация полей-переменных и реализация поведения функций или методов
  3. специальная функция класса, которая вызывается при создании нового объекта этого класса и предоставляет возможность инициализировать объекты во время их создания и гарантировать, что все данные члены будут иметь корректные значения
Вопрос 5

Объект - это …

  1. шаблон для создания объектов, обеспечивающий начальные значения состояний: инициализация полей-переменных и реализация поведения функций или методов
  2. специальная функция класса, которая вызывается при создании нового объекта этого класса и предоставляет возможность инициализировать объекты во время их создания и гарантировать, что все данные члены будут иметь корректные значения
  3. структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе понятии
Вопрос 6Ответ открыт бесплатно

Идея объектно-ориентированного программирования была основана на …

  1. представлении программы, как совокупности объектов✓ Правильный ответ
  2. представлении программы, как совокупности классов
  3. представлении программы, как совокупности методов
✓ Правильный ответ

представлении программы, как совокупности объектов

Вопрос 7

Определите соответствие между терминами и определениями:

  1. инкапсуляция
  2. полиморфизм
  3. абстрагирование
  4. наследование
  5. принцип быстрой и надёжной организации своей иерархической управляемости
  6. метод направлен на определение точки, где единое управление лучше разделить или наоборот, собрать воедино разделённые управления
  7. принцип, в котором учитывается все самое важное в предмете, для моделирования и решения конкретной задачи
  8. принцип создание класса на базе уже существующего, при этом, у нас есть возможность пользоваться функционалом (свойствами и методамбазового
Вопрос 8

Определите соответствие между открытиями и их создателями:

  1. первая программа для аналитической машины
  2. sketchpad
  3. simula
  4. Ада Августа Лавлейс
  5. Иван Сазерленд
  6. Оле-Йохан Даль и Кристен Нюгорд
Вопрос 9

Определите соответствия между языками и видами программирования.

  1. Python
  2. 1C
  3. Лисп
  4. объектно-ориентированное программирование
  5. процедурное программирование
  6. функциональное программирование
Вопрос 10Ответ открыт бесплатно

Определите в исторической последовательности открытия в программировании:

  1. ткацкий станок с перфокартами✓ Правильный ответ
  2. аналитическая машина✓ Правильный ответ
  3. первая программа для аналитической машины✓ Правильный ответ
  4. объектно-ориентированное программирование✓ Правильный ответ
✓ Правильный ответ

ткацкий станок с перфокартами ; аналитическая машина ; первая программа для аналитической машины ; объектно-ориентированное программирование

Вопрос 11

Определите создание языков программирования в исторической последовательности (от старого до нового):

  1. C++
  2. Simula
  3. Java
  4. Python
Вопрос 12

Определите последовательность, в которой развивалось направление объектно-ориентированного программирования:

  1. появилось компонентное программирование
  2. появилось прототипно-ориентированное программирование
  3. появилось класс-ориентированное программирование
Вопрос 13Ответ открыт бесплатно

На практике, объектно-ориентированное программирование сводится к созданию некоторого количества классов, включая интерфейс и реализацию, и последующему их использованию. Графическое представление некоторого количества классов и связей между ними называется диаграммой классов. Объектно-ориентированный подход, за время своего развития, накопил множество рекомендаций (паттернопо созданию классов и иерархий классов. Предсказать результат следующей программы. На экран выведется строка «Compiler Error», т.к. компилятор увидит ошибку в строке 1.

  1. на экран выведется «C»✓ Правильный ответ
  2. на экран выведется «B»
  3. на экран выведется строка «Garbage Value», т.к. компилятор не сможет запустить конструктор
✓ Правильный ответ

на экран выведется «C»

Вопрос 14

Как и структуры, классы могут задавать поля, то есть, переменные, принадлежащие либо непосредственно самому классу (статические), либо экземплярам класса (обычные). Статические поля существуют в одном экземпляре на всю программу (или, в более сложном варианте, — в одном экземпляре на процесс или на поток/нить). Обычные поля создаются по одной копии для каждого конкретного объекта — экземпляра класса. Представлен код программы. Какой результат выполнения?

  1. на экран выведется «Garbage Values»
  2. на экран ничего не выведется
  3. на экран выведется «Compiler Error in line cout
  4. на экран выведется «Compiler Error in line cout
Вопрос 15

В объектно-ориентированной программе с применением классов, каждый объект является «экземпляром» некоторого конкретного класса, и других объектов не предусмотрено. То есть, «экземпляр класса» в данном случае означает не «пример некоторого класса» или «отдельно-взятый класс», а «объект, типом которого является какой-то класс». При этом, в разных языках программирования допускается, либо не допускается существование еще каких-то типов данных, экземпляры которых не являются объектами. Перед Вами код. Опишите его работу.

  1. в этом классе скрыты два поля – health и ammo, получить значения которых извне, можно с помощью методов get_health() и get_ammo()
  2. в этом классе скрыты четыре поля – int x, int y, int scale, int position, получить значения которых извне, можно с помощью методов void draw
  3. в этом классе скрыто одно поле – health, получить значения которых извне можно с помощью метода int get_ammo()
Вопрос 16Ответ открыт бесплатно

Для объявления функции как виртуальной используется ключевое слово…

  1. … virtual✓ Правильный ответ
  2. … private
  3. … public
✓ Правильный ответ

… virtual

Вопрос 17

Обычно компиляторы при обработке виртуальных функций добавляют к каждому объекту скрытый элемент, который содержит указатель на массив адресов функций, называемый …

  1. …возвращаемое значение
  2. … защищенным членом класса
  3. …таблицей виртуальных функций
Вопрос 18

Полиморфизм в объектно-ориентированном программировании реализуется:

  1. через механизмы перегрузки (функций и операций), виртуальные функции и шаблоны
  2. через механизмы перегрузки (функций и операции шаблоны
  3. через виртуальные функции и шаблоны
Вопрос 19

Шаблон функции - это...

  1. прототип функции, в котором вместо имен параметров указан условный тип
  2. определение функции, в которой типу обрабатываемых данных присвоено условное обозначение
  3. определение функции, в котором указаны возможные варианты типов обрабатываемых параметров
Вопрос 20Ответ открыт бесплатно

Для указания на объект производного класса можно воспользоваться …

  1. указателем базового класса✓ Правильный ответ
  2. виртуальной функций
  3. защищенным членом класса
✓ Правильный ответ

указателем базового класса

Вопрос 21

Множественное наследование – это …

  1. наследование, при котором создание производного класса основывается на использовании нескольких непосредственных базовых классов
  2. наследование, при котором создание производного класса основывается на использовании одного базового класса
  3. наследование, при котором удаление производного класса основывается на использовании нескольких непосредственных базовых классов
Вопрос 22

Установите соответствие между терминами и определениями:

  1. public
  2. protected
  3. private
  4. открытое наследование
  5. защищенное наследование
  6. закрытое наследование
Вопрос 23Ответ открыт бесплатно

Установите соответствие между терминами и определениями:

  1. чисто-виртуальная функция✓ Правильный ответ
  2. дружественная функция✓ Правильный ответ
  3. статическая функция✓ Правильный ответ
  4. делает свой класс абстрактным✓ Правильный ответ
  5. имеет доступ к скрытым данным класса, по отношению к которому она объявлена таковой✓ Правильный ответ
  6. работающая с классом в целом, а не над отдельными его объектами✓ Правильный ответ
✓ Правильный ответ

чисто-виртуальная функция = делает свой класс абстрактным ; дружественная функция = имеет доступ к скрытым данным класса, по отношению к которому она объявлена таковой ; статическая функция = работающая с классом в целом, а не над отдельными его объектами

Вопрос 24

Установите соответствие между термином и его определением.

  1. статический полиморфизм
  2. динамический полиморфизм
  3. осуществляется за счет перегрузки и шаблонов функций
  4. реализуется виртуальными функциями
Вопрос 25

Установите порядок выполнения конструкторов при порождении из нескольких классов:

  1. конструкторы базовых классов в порядке их задания
  2. конструкторы членов, являющихся объектами класса
  3. конструктор порожденного класса
Вопрос 26

Если есть два класса, один из которых базовый, а другой — унаследованный от базового, то последовательность вызовов следующая:

  1. вызов конструктора базового класса
  2. вызов конструктора унаследованного класса
  3. компиляция
Вопрос 27Ответ открыт бесплатно

Ниже представлен код, проставьте последовательность действий, которая произведена в этом коде:

  1. создаем объект c класса C✓ Правильный ответ
  2. указываем rparent ссылаться на часть A объекта c✓ Правильный ответ
  3. вызываем метод rParent.getName()✓ Правильный ответ
  4. вызываем rParent.GetName(), что приводит к вызову A::getName(). Однако, поскольку A::getName() является виртуальной функцией, то компилятор ищет «наиболее» дочерний метод между A и C. В этом случае — это C::getName()✓ Правильный ответ
✓ Правильный ответ

создаем объект c класса C ; указываем rparent ссылаться на часть A объекта c ; вызываем метод rParent.getName() ; вызываем rParent.GetName(), что приводит к вызову A::getName(). Однако, поскольку A::getName() является виртуальной функцией, то компилятор ищет «наиболее» дочерний метод между A и C. В этом случае — это C::getName()

Вопрос 28

Перед Вами код с перегрузкой методов. Выберите правильное описание работы кода.

  1. здесь описывается одна версия функции show().Функция не возвращает результат. В зависимости от того, передан ли функции аргумент при вызове, отображается сообщение о том, что у функции нет аргумента, или сообщение с указанием значения аргумента
  2. в данном примере описывается одна версия функции show(). У функции текстовый аргумент. В зависимости от того, передан ли функции аргумент при вызове, отображается сообщение о том, что у функции нет аргумента, или сообщение с указанием значения аргумента
  3. здесь описывается две версии функции show(). В одном случае функция описана без аргументов. Во втором случае у функции текстовый аргумент. Функция в обоих случаях не возвращает результат. В зависимости от того, передан ли функции аргумент при вызове, отображается сообщение о том, что у функции нет аргумента, или сообщение с указанием значения аргумента
Вопрос 29

Перед Вами код. Выберите, какой результат кода:

  1. Base NonVirtual called. Base Virtual called. Base NonVirtual called. Derived Virtual called
  2. Base NonVirtual called. Base Virtual called. Base NonVirtual called
  3. Base NonVirtual called. Derived Virtual called
Вопрос 30Ответ открыт бесплатно

Перед Вами код. Выберите, какой будет результат кода:

  1. rParent is a Child. Поскольку rParent является ссылкой на родительскую часть объекта child, то, обычно, при обработке rParent.getName() вызывался бы Parent::getName(). Тем не менее, поскольку Parent::getName() является виртуальной функцией, то компилятор понимает, что нужно посмотреть, есть ли переопределения этого метода в дочерних классах. И компилятор находит Child::getName()✓ Правильный ответ
  2. rParent.getName. При обработке rParent.getName(), компилятор видит, что метод является виртуальной функцией. Когда Child ссылается на часть объекта getName, то компилятор просматривает все классы между Child и getName, чтобы найти наиболее дочерний метод speak(). И находит Child::speak(). В случае, когда getName ссылается на часть Child объекта main, компилятор находит rParent.getName()
  3. ничего не выведет. В этом случае Child::getValue() не считается подходящим переопределением для Parent::getValue(), так как типы возвратов разные (метод Child::getValue() считается полностью отдельной функцией)
✓ Правильный ответ

rParent is a Child. Поскольку rParent является ссылкой на родительскую часть объекта child, то, обычно, при обработке rParent.getName() вызывался бы Parent::getName(). Тем не менее, поскольку Parent::getName() является виртуальной функцией, то компилятор понимает, что нужно посмотреть, есть ли переопределения этого метода в дочерних классах. И компилятор находит Child::getName()

Вопрос 31

В обычном режиме компилятор автоматически формирует конструктор копирования для каждого класса, однако, в некоторых случаях, программист формирует конструктор копирования, называемый …

  1. … неявным конструктором копирования
  2. … явным конструктором копирования
  3. … конструктором по умолчанию
Вопрос 32

Конструктор копирования вызывается…

  1. при наследовании базового класса
  2. при описании нового объекта с инициализацией другим объектом этого же типа
  3. при присваивании объекта новому типу
Вопрос 33Ответ открыт бесплатно

При передаче параметра по значению, конструктор будет вызываться рекурсивно, поэтому он должен иметь…

  1. ссылку✓ Правильный ответ
  2. функцию-член
  3. переменную
✓ Правильный ответ

ссылку

Вопрос 34

«Закон Большой Тройки» или «Правило трёх» — правило в C++ гласит, что если класс или структура определяет один из следующих методов, то они должны явным образом определить все три метода. Какие три метода нужны?

  1. деструктор, оператор, функция
  2. конструктор, деструктор, оператор присваивания
  3. конструктор, класс, объект
Вопрос 35

Оператор присваивания – это…

  1. вид оператора, используемый для присваивания объектов одного класса друг другу
  2. вид оператора, используемый для хранения всех значений класса
  3. вид оператора, используемый для присваивания конструктора к деструктору
Вопрос 36

Существует два вида операций присваивания – это…

  1. простое присваивание и составное присваивание
  2. простое присваивание и множественное присваивание
  3. логическое присваивание и составное присваивание
Вопрос 37Ответ открыт бесплатно

Операторы присваивания хранят значение в объекте, указанном левым операндом. Установите соответствие между операторами и их значениями:

  1. =
  2. *=
  3. /=
  4. сохранение значения второго операнда в объект, указанный первым операндом
  5. умножение значения первого операнда на значение второго операнда, сохранение результата в объект, указанный первым операндом
  6. деление значения первого операнда на значение второго операнда, сохранение результата в объект, указанный первым операндом
✓ Правильный ответ

= = сохранение значения второго операнда в объект, указанный первым операндом ; *= = умножение значения первого операнда на значение второго операнда, сохранение результата в объект, указанный первым операндом ; /= = деление значения первого операнда на значение второго операнда, сохранение результата в объект, указанный первым операндом

Вопрос 38

Операторы присваивания хранят значение в объекте, указанном левым операндом. Установите соответствие между операторами и их значениями

  1. +=
  2. -=
  3. сложение значения первого операнда со значением второго операнда, сохранение результата в объект, указанный первым операндом
  4. вычитание значения второго операнда из значения первого операнда, сохранение результата в объект, указанный первым операндом
  5. сдвиг значения первого операнда влево на количество битов, заданное значением второго операнда, сохранение результата в объект, указанный первым операндом
Вопрос 39

Операторы присваивания хранят значение в объекте, указанном левым операндом. Установите соответствие между операторами и их значениями.

  1. ^=
  2. &=
  3. >>=
  4. выполнение операции побитового исключающего «ИЛИ» для значений первого и второго операндов, сохранение результата в объект, указанный первым операндом
  5. выполнение операции побитового «И» для значений первого и второго операндов, сохранение результата в объект, указанный первым операндом
  6. сдвиг значения первого операнда вправо на количество битов, заданное значением второго операнда, сохранение результата в объект, указанный первым операндом
Вопрос 40Ответ открыт бесплатно

Проставьте последовательность алгоритма процесса присваивания.

  1. вычислить левостороннее значение первого операнда. На этом этапе становится известным местонахождение целевого объекта, приёмника нового значения✓ Правильный ответ
  2. вычислить правостороннее значение второго операнда. Этот этап может быть сколь угодно большим и включать другие операторы (в том числе присвоения)✓ Правильный ответ
  3. присвоить вычисленное правостороннее значение левостороннему значению. Во-первых, при конфликте типов должно быть осуществлено их приведение (либо выдано сообщение об ошибке ввиду его невозможности). Во-вторых, собственно присваивания значения в современных языках программирования может быть подменено и включать не только перенос значений ячеек памяти✓ Правильный ответ
  4. возвратить вычисленное правостороннее значение как результат выполнения операции✓ Правильный ответ
✓ Правильный ответ

вычислить левостороннее значение первого операнда. На этом этапе становится известным местонахождение целевого объекта, приёмника нового значения ; вычислить правостороннее значение второго операнда. Этот этап может быть сколь угодно большим и включать другие операторы (в том числе присвоения) ; присвоить вычисленное правостороннее значение левостороннему значению. Во-первых, при конфликте типов должно быть осуществлено их приведение (либо выдано сообщение об ошибке ввиду его невозможности). Во-вторых, собственно присваивания значения в современных языках программирования может быть подменено и включать не только перенос значений ячеек памяти ; возвратить вычисленное правостороннее значение как результат выполнения операции

Вопрос 41

Оператор простого присваивания ( = ) вызывает сохранение значения второго операнда в объекте, указанном первым операндом. Если оба объекта имеют арифметические типы, правый операнд преобразуется в тип слева перед сохранением значения. Посмотрите код и напишите алгоритм его создания.

  1. перегрузка оператора присваивания
  2. проверка на самоприсваивание
  3. выполнение копирования значений
  4. возвращаем текущий объект
Вопрос 42

Оператор присваивания не может быть объявлен как «дружественный» к классу. Если перегрузить оператор присваивания как «дружественный» к классу, то это означает, что будет перегруженный глобальный оператор присваивания, который вызывается для экземпляров классов автоматически. Это, в свою очередь, может привести к путанице в операциях присваивания и увеличении невидимых ошибок. Поэтому, компиляторы языка C++ не допускают перегружать оператор присваивания как «дружественный» к классу. Посмотрите код и напишите алгоритм его создания.

  1. определение переменных
  2. вывод на экран
  3. увеличение значения
  4. вывод на экран значений с1, с2
Вопрос 43

Описать работу кода программы:

  1. задан класс string, в котором будут описаны алгоритмы обработки строковой информации. В данном классе описано два конструктора для возможности создания пустой и некоторой начальной строк. Кроме того, задано два метода: GetString() и SetString(), через которые осуществляется доступ к массиву buff[], являющимся частным элементом класса. Представленный класс описывает минимальный набор функций для работы со строками. С помощью него можно задать какую-либо строку и получить ее, например, для вывода на экран
  2. задан класс string, в котором будут описаны алгоритмы обработки строковой информации. В данном классе есть один конструктор для возможности создания пустой строки. Кроме того, задано два метода: GetString() и SetString(), через которые осуществляется доступ к массиву buff[], являющимся частным элементом класса. Представленный класс описывает минимальный набор функций для работы со строками. С помощью него можно задать какую-либо строку и получить ее, например, для вывода на экран
  3. задан класс string, в котором будут описаны алгоритмы обработки строковой информации. В классе описаны конструкторы для возможности создания пустой и некоторой начальной строк. Кроме того, задан один метод: GetString(), через который осуществляется доступ к массиву buff[], являющимся частным элементом класса
Вопрос 44Ответ открыт бесплатно

Функция operator++() может создавать новый объект класса для использования его в качестве возвращаемого значения. Опишите работу кода:

  1. функция operator++() создает новый объект класса Counter, для использования его в качестве возвращаемого значения. Далее, функция возвращает объект temp. Получаем ожидаемый эффект. Выражение типа ++c1 теперь возвращает значение, которое можно использовать в других выражениях, таких, как: c2 = ++c1
  2. функция operator++() создает новый объект класса Counter, названный temp, для использования его в качестве возвращаемого значения. Она сначала увеличивает переменную count в своем объекте, а затем создает объект temp и присваивает ему значение count, то же значение, что и в собственном объекте. В конце функция возвращает объект temp. Получаем ожидаемый эффект. Выражение типа ++c1 теперь возвращает значение, которое можно использовать в других выражениях, таких, как: c2 = ++c1✓ Правильный ответ
  3. функция operator++() создает новый объект класса Counter, названный temp, для использования его в качестве возвращаемого значения. Она сначала увеличивает переменную count в своем объекте, а затем создает объект temp и присваивает ему значение count, то же значение, что и в собственном объекте. В конце функция возвращает объект temp. Получаем ожидаемый эффект. Выражение типа ++c2 теперь возвращает значение, которое можно использовать в других выражениях, таких, как: c1 = ++c2
✓ Правильный ответ

функция operator++() создает новый объект класса Counter, названный temp, для использования его в качестве возвращаемого значения. Она сначала увеличивает переменную count в своем объекте, а затем создает объект temp и присваивает ему значение count, то же значение, что и в собственном объекте. В конце функция возвращает объект temp. Получаем ожидаемый эффект. Выражение типа ++c1 теперь возвращает значение, которое можно использовать в других выражениях, таких, как: c2 = ++c1

Вопрос 45

Операция присваивания копированием отличается от конструктора копирования тем, что должна очищать члены-данные цели присваивания (и правильно обрабатывать самоприсваивание), тогда как конструктор копирования присваивает значения неинициализированным членам-данным. Опишите работу кода:

  1. вначале применим оператор выбора члена для выбора члена структуры, затем выделим новый массив данных, далее удалим массив, а затем создадим новый
  2. вначале защитим от неправильного самоприсваивания, затем выделим «новую» память и скопируем элементы, далее освободим «старую» память, и в конце присвоим значения в «новой» памяти объекту
  3. вначале объявим переменную типа класса, определим функцию-член, затем свяжем методы с объектами класса и возвратим значения в «новой» памяти объекту
Вопрос 46

Контейнерные классы – это…

  1. … классы, предназначенные для хранения данных, организованных определенным образом
  2. … классы, предназначенные для обработки и объявления данных
  3. … классы, предназначенные для сбора данных и их организации
Вопрос 47Ответ открыт бесплатно

Библиотека стандартных шаблонов – это …

  1. набор согласованных, обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++✓ Правильный ответ
  2. … набор данных, которая уже является моделью динамического массива
  3. … библиотека функций, обеспечивающая хранение конечного количества однотипных величин в виде непрерывной последовательности
✓ Правильный ответ

набор согласованных, обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++

Вопрос 48

Итераторы – это …

  1. контейнеры, которые обеспечивают доступ к конструкторам
  2. сущности, использующиеся для получения доступа к отдельным данным в контейнере
  3. переменные, которые обеспечивают быстрый доступ к данным по ключу
Вопрос 49

Контейнеры делятся на два вида - это …

  1. простые и множественные
  2. ассоциативные и последовательные
  3. придуманные и логические
Вопрос 50Ответ открыт бесплатно

Какой вид контейнеров обеспечивают хранение конечного количества однотипных величин в виде непрерывной последовательности?

  1. последовательные контейнеры✓ Правильный ответ
  2. ассоциативные контейнеры
  3. множественные контейнеры
✓ Правильный ответ

последовательные контейнеры

Вопрос 51

Стандартизованный интерфейс могут предоставлять:

  1. все виртуальные методы
  2. все контейнерные классы
  3. все функций
Вопрос 52

Контейнерные классы – это классы, предназначенные для хранения данных, организованных определенным образом. Контейнеры бывают двух видов – ассоциативные и последовательные. Установите соответствие между терминами и определениями контейнерных классов.

  1. вектор
  2. очередь
  3. стек
  4. структура данных, которая уже является моделью динамического массива
  5. структура данных, которая построена по принципу LILO (last in — last out: последний пришел — последний вышел)
  6. структура данных, которая работает по принципу FILO (first in — last out; первый пришел — последний вышел)
Вопрос 53

Каждый контейнерный класс имеет 4 основных метода для работы с оператором - метод begin(),метод end(),метод cbegin(),метод cend(). Установите соответствие между названием метода контейнерного класса и его описанием.

  1. iterator begin() const_iterator begin () const
  2. iterator end() const_iterator end () const
  3. reverse_iterator rbegin() const_reverse_iterator rbegin () const
  4. указывают на первый элемент
  5. указывают на элемент, следующий за последним
  6. указывают на первый элемент в обратной последовательности
Вопрос 54Ответ открыт бесплатно

Контейнерные классы – это классы, предназначенные для хранения данных, организованных определенным образом. Контейнеры бывают двух видов – ассоциативные и последовательные. Установите соответствие между терминами и определениями контейнерных классов.

  1. списки✓ Правильный ответ
  2. массивы✓ Правильный ответ
  3. словари✓ Правильный ответ
  4. структуры данных, которые построены на двусвязных списках✓ Правильный ответ
  5. наборы однотипных данных✓ Правильный ответ
  6. структуры данных, которые допускают дублирование ключей✓ Правильный ответ
✓ Правильный ответ

списки = структуры данных, которые построены на двусвязных списках ; массивы = наборы однотипных данных ; словари = структуры данных, которые допускают дублирование ключей

Вопрос 55

Проставьте порядок выполнения кода поэтапно.

  1. создать вектор
  2. внести данные в конец вектора
  3. заменить новыми значениями
  4. вывести содержимое
Вопрос 56

Проставьте последовательность функций классов-контейнеров в языке C++.

  1. создание пустого контейнера (через конструктор)
  2. удаление объекта из контейнера
  3. добавление нового объекта в контейнер
  4. просмотр количества объектов, находящихся на данный момент в контейнере
  5. очистка контейнера от всех объектов
  6. доступ к сохраненным объектам
  7. сортировка объектов/элементов (не всегда)
Вопрос 57Ответ открыт бесплатно

Пример работы с контейнером приведен ниже. В файле находится произвольное количество целых чисел. Программа считывает их в вектор и выводит на экран. Опишите последовательность кода:

  1. записывается соответствующая специализация шаблона vector — vector˂int˃
  2. для создания вектора v применяется конструктор по умолчанию
  3. организуется цикл до конца файла, в котором из него считывается очередное целое число
  4. с помощью метода push_back число заносится в вектор, размер которого увеличивается автоматически
✓ Правильный ответ

записывается соответствующая специализация шаблона vector — vector˂int˃ ; для создания вектора v применяется конструктор по умолчанию ; организуется цикл до конца файла, в котором из него считывается очередное целое число ; с помощью метода push_back число заносится в вектор, размер которого увеличивается автоматически

Вопрос 58

Векторы — это умные массивы. Они занимаются автоматическим размещением себя в памяти, расширением и сужением своего размера по мере вставки или удаления данных. Векторы можно использовать в какой-то мере как массивы, обращаясь к элементам с помощью привычного оператора []. Случайный доступ выполняется очень быстро в векторах. Также, довольно быстро осуществляется добавление (или проталкиваниновых данных в конец вектора. Когда это происходит, размер вектора автоматически увеличивается для того, чтобы было, куда положить новое значение. Рассмотрим код программы. 

  1. заполнение данными методом insert(). Метод insert() имеет два параметра: будущее расположение нового элемента в контейнере и значение элемента. Прибавляем две позиции к результату выполнения метода begin(), чтобы перейти к элементу № 2 (третий элемент в контейнере, считая с нуля). Элементы от точки вставки до конца контейнера сдвигаются, чтобы было место для размещения вставляемого. Размер контейнера автоматически увеличивается на единицу
  2. для создания вектора v используется штатный конструктор вектора без параметров. Как с любыми контейнерами STL, для задания типа переменных, которые будут храниться в векторе, используется шаблонный формат (в данном случае это тип int). Мы не определяем размер контейнера, поэтому вначале он равен 0. Метод push_back() вставляет значение своего аргумента в конец вектора (конец располагается там, где находится самый большой индекс). Начало вектора (элемент с индексом 0), в отличие от списков и очередей, не может использоваться для вставки новых элементов
  3. если переменной main присвоить значение true, то push_back() никогда не будет удален, память никогда не будет освобождена и произойдет утечка памяти. Однако, если бы push_back() был вектором, то подобное никогда бы и не произошло, так как память освобождалась бы автоматически при выходе push_back() из области видимости (независимо от того, выйдет ли функция раньше из области видимости или нет). Именно из-за этого использование std::vector является более безопасным, чем динамическое выделение памяти через оператор v
Вопрос 59

Стек – это динамическая структура сохранения данных, которая работает по принципу «последний пришел — первый вышел» (Last-In First-Out). В стеке добавление новых элементов и удаление существующих элементов производится с одного конца, который называется вершиной стека. Организация данных с помощью стека эффективна, когда нужно реализовать: - обмен данными между методами приложения с помощью параметров; - синтаксический анализ разнообразных выражений. Рассмотрим пример. Выберете, что будет результатом программы:  

  1. программа попросит ввести шесть любых целых чисел. Например: 9 5 2 1 5 6. Затем выведет строку, где будет указан верхний элемент стека – 6. Далее, будет предложение удаления верхнего элемента. Затем, опять будет указан новый верхний элемент стека – 5. Далее, выведется строка – «Process returned 0 (0x0) execution time: 0.010 s. Press any key to continue
  2. программа попросит ввести шесть любых целых чисел. Например: 9 5 2 1 5 6. Затем выведет строку, где будет указан верхний элемент стека – 9. Далее, будет предложение удаления верхнего элемента. Затем, опять будет указан новый верхний элемент стека – 5
  3. программа попросит ввести пять любых целых чисел. Например: 5 2 1 5 6. Затем выведет строку, где будет указан верхний элемент стека – 6. Далее, будет предложение добавления верхнего элемента. Затем, опять будет указан новый верхний элемент стека. Далее, выведется строка – «Process returned 0 (0x0) execution time : 0.010 s. Press any key to continue
Вопрос 60Ответ открыт бесплатно

Для работы с очередью вам понадобится знать функции: push(), pop(), front(), back(), empty(). 1) Для добавления в очередь нового элемента нужно воспользоваться функцией — push(). В круглых скобках должно находится значение, которое мы хотим добавить. 2) Если нам понадобилось удалить первый элемент, нужно оперировать функцией pop(). В круглых скобках уже ничего не нужно указывать, но по правилам они в обязательном порядке должны присутствовать! Эти функции тоже не нуждаются в указании аргумента: empty(), back() и front(). 3) Если вам понадобилось обратиться к первому элементу очереди, то вам понадобится функция front(). 4) Чтобы обратиться к последнему элементу в очереди, вам поможет функция back(). 5) Чтобы узнать, пуста ли очередь, нужно воспользоваться функцией empty(). - Если ваша очередь пуста — возвратит true. - Если же в ней что-то есть — возвратит false. В коде использовались все перечисленные методы. Выберете, что будет результатом программы.    

  1. пользователь должен ввести 6 чисел. Затем будет указан самый первый элемент в очереди. Потом он будет удален и выведен на экран новый первый элемент (после удаления). Далее будет выведен на экран последний элемент в очереди
  2. пользователь должен ввести 7 чисел. Затем будет указан самый первый элемент в очереди. Потом он будет удален и выведен на экран новый первый элемент (после удаления). Далее, строка «Очередь не пуста! и «Process returned 0 (0x0) execution time : 0.010 s. Press any key to continue»✓ Правильный ответ
  3. пользователь должен ввести 5 чисел. Затем будет указан самый первый элемент в очереди. Потом он будет удален и выведен на экран новый первый элемент (после удаления). Далее строка «Очередь не пуста!»
✓ Правильный ответ

пользователь должен ввести 7 чисел. Затем будет указан самый первый элемент в очереди. Потом он будет удален и выведен на экран новый первый элемент (после удаления). Далее, строка «Очередь не пуста! и «Process returned 0 (0x0) execution time : 0.010 s. Press any key to continue»

Вопрос 61

Конструктор – это…

  1. специальный метод без параметров, имя которого состоит из символа ~ и имени класса
  2. специальная функция класса, которая вызывается при создании нового объекта этого класса, и предоставляет возможность инициализировать объекты во время их создания, и гарантировать, что все данные члены будут иметь корректные значения
  3. символ, который помогает выполнять определенные математические и логические вычисления с операндами
Вопрос 62

Деструктор – это…

  1. специальный метод без параметров, имя которого состоит из символа ~ и имени класса
  2. специальная функция класса, которая вызывается при создании нового объекта этого класса, и предоставляет возможность инициализировать объекты во время их создания, и гарантировать, что все данные члены будут иметь корректные значения
  3. символ, который помогает выполнять определенные математические и логические вычисления с операндами
Вопрос 63

При передаче параметра по значению, конструктор будет вызываться рекурсивно, поэтому он должен иметь в качестве параметра …

  1. ссылку
  2. функцию
  3. переменную
Вопрос 64Ответ открыт бесплатно

Перегруженные функции подчиняются тем же правилам относительно типов параметров, что и …

  1. конструкторы✓ Правильный ответ
  2. деструкторы
  3. методы
✓ Правильный ответ

конструкторы

Вопрос 65

В процессе выполнения операции присваивания между существующими объектами одного типа обычно вызывается …

  1. конструктор по умолчанию
  2. конструктор копирования
  3. никакой конструктор не вызывается
Вопрос 66

Варианты использования больше всего нужны для того, …

  1. чтобы получать сведений о проблемах, возникших в программном коде
  2. чтобы узнать, какие в классах могут быть конструкторы
  3. чтобы обеспечивать выбор подходящих атрибутов класса
Вопрос 67Ответ открыт бесплатно

Конструктор копирования вызывается …

  1. при наследовании базового класса
  2. при описании нового объекта с инициализацией другим объектом этого же типа✓ Правильный ответ
  3. при присваивании объекта новому типу
✓ Правильный ответ

при описании нового объекта с инициализацией другим объектом этого же типа

Вопрос 68

Установите соответствие между терминами и определениями

  1. конструктор копирования
  2. конструктор с параметрами
  3. конструктор перемещения
  4. конструктор, принимающий в качестве аргумента объект того же класса
  5. конструктор, принимающий один или более аргументов
  6. конструктор, принимающий на входе значение неконстантной ссылки на объект класса, и используется для передачи владения ресурсами этого объекта
Вопрос 69

Когда вызывается конструктор, автоматически создаются объекты при определенных условиях. Определите соответствие между объектами и условиями создания конструктора.

  1. для локальных объектов
  2. для глобальных статических объектов
  3. для объектов, создаваемых в динамической памяти
  4. при выполнении оператора, в котором они объявлены
  5. перед вызовом функции main, для своих статических значений функции – при начальном выполнении этой функции
  6. при выполнении операции new
Вопрос 70

При автоматическом вызове деструктора, для объектов при определенных условиях, определите соответствие между объектами и условиями уничтожения.

  1. для локальных объектов
  2. для глобальных статических объектов
  3. для объектов, создаваемых в динамической памяти
  4. при выходе из блока, в котором они объявлены
  5. после завершения функции main
  6. при выполнении операции delete
Вопрос 71Ответ открыт бесплатно

Проставьте последовательность создания конструктора

  1. прописывается конструктор✓ Правильный ответ
  2. указываются аргументы✓ Правильный ответ
  3. запускается компиляция✓ Правильный ответ
✓ Правильный ответ

прописывается конструктор ; указываются аргументы ; запускается компиляция

Вопрос 72

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

  1. выполняется компиляция
  2. выполняется вызов конструктора унаследованного класса
  3. выполняется вызов конструктора базового класса
Вопрос 73

Конструктор является типом метода класса, который автоматически вызывается при создании объекта этого же класса, а деструктор — это тип метода класса, который выполняется при удалении объекта класса. Ниже представлен код, подумайте какой тип метода класса здесь используется. Опишите код программы:

  1. в данном коде описывается класс «date», он имеет переменные день и год. Здесь применен деструктор date(). Он удаляет с динамической памяти объект «month»
  2. в данном коде описывается класс «day» и «year», данные имеют открытый тип. Здесь применен конструктор date()
  3. в данном коде описывается класс «date», он имеет переменные месяц и год. Здесь применен деструктор date(). Он удаляет с динамической памяти объект «month»
Вопрос 74Ответ открыт бесплатно

Предсказать результат следующей программы:

  1. на экран выйдет сообщение «0», т.к. деструктор удалит все значения переменной
  2. на экран выйдет сообщение «Compiler Error in line cout
  3. на экран выйдет сообщение «Compiler Error in line cout t.getY();», т.к. в компиляторе ошибка в строке «cout✓ Правильный ответ
✓ Правильный ответ

на экран выйдет сообщение «Compiler Error in line cout t.getY();», т.к. в компиляторе ошибка в строке «cout

Вопрос 75

В отличие от обычных методов, конструкторы имеют определенные правила их именования: конструкторы всегда должны иметь то же имя, что и класс (учитываются верхний и нижний регистры), конструкторы не имеют типа возврата (даже void). Перед Вами код. Опишите его результат.

  1. на экран выведется . Согласно стандарту, выбор одной из перегруженных функций осуществляется по правилу «Наиболее подходящей функции»
  2. на экран выведется . "Hello world" имеет тип const char* и приведение его к POD-типу bool целесообразней, чем к типу std::string
  3. на экран ничего не выведет. Приведения типов нет
Вопрос 76

Оператор разрешения обычно …

  1. … ограничивает видимость переменных для определенных методов
  2. … обозначает, от какого базового класса создан производный
  3. … определяет отдельный класс
Вопрос 77Ответ открыт бесплатно

К преимуществам использования наследования не относится:

  1. обеспечение развития класса путем естественного отбора✓ Правильный ответ
  2. облегчение создания классов
  3. избежание переписывания кода
  4. предоставление полезной концептуальной основы
✓ Правильный ответ

обеспечение развития класса путем естественного отбора

Вопрос 78

Назначение наследования состоит в том, чтобы:

  1. передавать аргументы объектам классов
  2. создавать более общие классы в более специализированных
  3. улучшать сокрытие данных и их инкапсуляцию
Вопрос 79

Механизм формирования новых классов из уже существующих или базовых классов – это …

  1. полиморфизм
  2. наследование
  3. абстрагирование
Вопрос 80

Укажите первую строку описания класса Tire, который является производным классов Wheel и Rubber:

  1. class Wheel: public Tire
  2. class Tire: public Wheel,public Rubber
  3. class Rubber: public Tire
Вопрос 81Ответ открыт бесплатно

Общий синтаксис механизма наследования выглядит следующим образом:

  1. class имя: тип_наследования имя_базового_класса {// программный код производного класса}✓ Правильный ответ
  2. classname имя: имя_базового_класса {// программный код производного класса}
  3. class имя: тип_наследования {// программный код производного класса}
✓ Правильный ответ

class имя: тип_наследования имя_базового_класса {// программный код производного класса}

Вопрос 82

Установите соответствие между терминами и определениями:

  1. множественное наследование
  2. простое наследование
  3. виртуальное наследование
  4. когда у подкласса два или более суперкласса
  5. когда подкласс имеет одного родителя
  6. предотвращает появление множественных объектов базового класса в иерархии наследования
Вопрос 83

Установите соответствие между типами наследования и их значениями

  1. public
  2. protected
  3. private
  4. все унаследованные данные становятся открытыми
  5. все унаследованные данные становятся защищенными
  6. все унаследованные данные становятся приватными
Вопрос 84Ответ открыт бесплатно

Установите соответствие между операциями в наследовании и их значениями

  1. перегрузка функций✓ Правильный ответ
  2. операция разрешения✓ Правильный ответ
  3. иерархия классов✓ Правильный ответ
  4. необходима, если для объектов базового и производного классов в вашей программе, используются одинаковые вызовы✓ Правильный ответ
  5. позволяет точно определить к какому классу относится вызываемый метод✓ Правильный ответ
  6. позволяет определять новые классы, на основе уже имеющихся✓ Правильный ответ
✓ Правильный ответ

перегрузка функций = необходима, если для объектов базового и производного классов в вашей программе, используются одинаковые вызовы ; операция разрешения = позволяет точно определить к какому классу относится вызываемый метод ; иерархия классов = позволяет определять новые классы, на основе уже имеющихся

Вопрос 85

Проставьте последовательность выполнения представленного кода:

  1. в классе Child указываются значения
  2. прописываются доступы к к члену класса Parent
  3. описывается класс Parent
  4. указывается, что класс Child наследуется от Parent
Вопрос 86

Проставьте последовательность создания кода:

  1. прописываем значение переменной количества часов преподавателя
  2. прописываем фамилию имя отчество учителя
  3. прописываем вывод фамилии имени отчества учителя
  4. прописываем вывод «Количества часов:»
Вопрос 87

Проставьте последовательность создания кода простого наследования:

  1. в классе были определены только те члены, которые являются общими для всех объектов этого класса
  2. далее ввели, что каждый человек (независимо от пола, профессии и т.д.) имеет имя и возраст
  3. для облегчения сортировки мы добавили в класс метод getName(), дающий доступ к именам из функции
Вопрос 88Ответ открыт бесплатно

Описать код программы:

  1. в коде описано открытое наследование. В результате, данные из базового класса остаются в производном классе✓ Правильный ответ
  2. в коде описано закрытое наследование. В результате, данные из производного класса закрыты от данных базового класса
  3. в коде описано защищенное наследование. В результате, данные из базового класса защищены от данных производного класса
✓ Правильный ответ

в коде описано открытое наследование. В результате, данные из базового класса остаются в производном классе

Вопрос 89

Важный момент при наследовании – это перегруженные функции-методы класса-потомка. Если в классе-родителе и в его классах-потомках встречаются методы с одинаковым именем, то для объектов класса-потомка компилятор будет использовать методы именно класса-потомка. Перегруженные методы класса-потомка, могут вызывать методы класса-родителя. В таком случае, важно помнить, что необходимо правильно определить область действия с помощью оператора «::». Иначе, компилятор воспримет это, как вызов функцией самой себя. Наглядно, если бы мы перегрузили в классе функцию - это выглядело бы так. Опишите, что указывает данная запись кода.

  1. эта запись указывает компилятору — если значение FirstClass не равно нулю — вызвать метод show_value() класса value. А он, в свою очередь, отобразит это значение на экране
  2. эта запись указывает компилятору — если значение value не равно нулю — вызвать метод FirstClass класса show_value(). А он, в свою очередь, отобразит это значение на экране
  3. эта запись указывает компилятору — если значение value не равно нулю — вызвать метод show_value() класса FirstClass. А он, в свою очередь, отобразит это значение на экране
Вопрос 90

В определенных ситуациях могут появиться проблемы, связанные со множественным наследованием. Допустим, что в обоих базовых классах существуют методы с одинаковыми именами, а в производном классе метода с таким именем нет. Рассмотрим пример. Как в этом случае объект производного класса определит, какой из методов базовых классов выбрать?

  1. проблема решается путем использования оператора разрешения, определяющего класс, в котором находится метод. Таким образом, «ObjC.A::show ( )» направляет нас к версии метода show(), принадлежащей классу A, а «objC.B::show ( )» направляет нас к методу, принадлежащему классу B, Б
  2. проблема решается путем использования перегрузки функций. Таким образом, «ObjC.A::show ( )» направляет нас к версии метода show(), принадлежащей классу С, а «objC.B::show ( )» направляет нас к методу, принадлежащему классу A
  3. проблема решается путем использования оператора наследования. Таким образом, «ObjC.A::show ( )» направляет нас к версии метода show(), принадлежащей классу B, а «objC.B::show ( )» направляет нас к методу, принадлежащему классу C
Вопрос 91Ответ открыт бесплатно

Обработка исключительной ситуации – это …

  1. … механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы, и приводят к невозможности дальнейшей отработки программой её базового алгоритма✓ Правильный ответ
  2. … механизм, предназначенный для описания значения адреса ячейки памяти
  3. … единение различных переменных (даже с разными типами данных), которому можно присвоить имя
✓ Правильный ответ

… механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы, и приводят к невозможности дальнейшей отработки программой её базового алгоритма

Вопрос 92

Оператор присваивания – это …

  1. … особый вид оператора, который выполняет пропуск оставшейся части кода тела цикла и переходит к следующей итерации цикла
  2. … особый вид оператора, используемый для присваивания объектов одного класса друг другу
  3. … оператор, который применяют для изменения управления в программе
Вопрос 93

Исключение – это …

  1. стандартный заголовочный файл шаблонов, которые определяют контейнеры, алгоритмы и т. д.
  2. последовательность операторов, повторяемая многократно
  3. реакция на исключительное обстоятельство, которое возникает во время работы программы
Вопрос 94Ответ открыт бесплатно

В C ++ с помощью ключевого слова «throw» функция может …

  1. указывать исключения, которые она генерирует✓ Правильный ответ
  2. выполнять одну перестановку в последовательности выбранного диапазона
  3. обеспечивать объявления и другие данных библиотечных функций, перегружаемых операций и объектов
✓ Правильный ответ

указывать исключения, которые она генерирует

Вопрос 95

Исключительные ситуации, возникающие при работе программы, можно разделить на два основных типа:

  1. целочисленные и символьные
  2. с данными и без данных
  3. асинхронные и синхронные
Вопрос 96

Процесс целочисленного деления на ноль является

  1. примером исключительной ситуации в С++
  2. примером создания нового блока кода
  3. примером уменьшения памяти
Вопрос 97

Механизм исключений использует три слова C++: catch, throw и try. Установите соответствие между терминами и определениями:

  1. catch
  2. throw
  3. try
  4. блок, при котором программа перехватывает исключение с помощью обработчика исключения в том месте программы, где вы хотите обработать проблему
  5. блок, при котором программа выдает исключение при обнаружении проблемы
  6. блок, при котором определяется блок кода, для которого будут активированы определенные исключения
Вопрос 98Ответ открыт бесплатно

Алгоритмы в STL выполняют сложные операции, типа сортировки и поиска. Однако, для выполнения более простых операций, специфичных для конкретного контейнера, требуются методы. Установите соответствие между методом и назначением.

  1. begin()✓ Правильный ответ
  2. empty()✓ Правильный ответ
  3. max_size()✓ Правильный ответ
  4. возвращает итератор на начало контейнера (итерации будут производиться в прямом направлении)✓ Правильный ответ
  5. возвращает true, если контейнер пуст✓ Правильный ответ
  6. возвращает максимально допустимый размер контейнера✓ Правильный ответ
✓ Правильный ответ

begin() = возвращает итератор на начало контейнера (итерации будут производиться в прямом направлении) ; empty() = возвращает true, если контейнер пуст ; max_size() = возвращает максимально допустимый размер контейнера

Вопрос 99

При работе программ возникают исключительные ситуации, когда дальнейшее нормальное выполнение приложения становится невозможным. Чтобы справиться с этими ситуациями, программисту помогают средства С++ catch, try и throw. Установите соответствие между конструкцией и описанием ее функции.

  1. catch
  2. try
  3. throw
  4. обработчик ошибочной ситуации
  5. операторы защищенного блока
  6. оператор возбуждения собственных исключений
Вопрос 100

Проставьте последовательность действий программы при возникновении ошибки.

  1. код нормально выполняется вне блока повторных попыток
  2. управление переходит в блок повторных попыток
  3. какое-то выражение в этом блоке приводит к возникновению ошибки в методе
  4. метод генерирует исключение
  5. управление переходит к обработчику ошибок (улавливающему блоку), следующему сразу за блоком повторных попыток
Вопрос 101Ответ открыт бесплатно

Проставьте последовательность действий процесса обработки исключений, возбужденных оператором throw:

  1. заканчивается выполнение защищенного try-блока: раскручивается стек подпрограмм, вызываются деструкторы для тех объектов, время жизни которых истекает и т.д.✓ Правильный ответ
  2. формируется статическая переменная с параметром, заданным в операторе throw. Она будет существовать до тех пор, пока исключение не будет обработано. Если переменная-исключение является объектом класса, при ее создании работает конструктор копирования✓ Правильный ответ
  3. реализовывается поиск первого из catch-блоков, который пригоден для обработки созданного исключения✓ Правильный ответ
✓ Правильный ответ

заканчивается выполнение защищенного try-блока: раскручивается стек подпрограмм, вызываются деструкторы для тех объектов, время жизни которых истекает и т.д. ; формируется статическая переменная с параметром, заданным в операторе throw. Она будет существовать до тех пор, пока исключение не будет обработано. Если переменная-исключение является объектом класса, при ее создании работает конструктор копирования ; реализовывается поиск первого из catch-блоков, который пригоден для обработки созданного исключения

Вопрос 102

Проставьте последовательность стандартных исключений в иерархии родительско-дочерних классов.

  1. std:overflow_error
  2. std:runtime_error
  3. std:exception
Вопрос 103

Рассмотрим программный код, представленный в листинге. Он очень простой. Каким будет результат, если после выполнения программы ввести отрицательное число?

  1. после выполнения программы на экран выведется: This application has requested the Runtime to terminate it in an unusual way. Please contact the application’s support team for more information. terminate called after throwing an instance of ‘std::bad_alloc’ what(): std::bad_alloc
  2. после выполнения программы на экран выведется: A part of conditional expression is always true: 0xff. babygrid.cpp 711
  3. после выполнения программы на экран выведется: Dereferencing of the null pointer 'cond_col' might take place
Вопрос 104

В представленной программе используются throw, try и catch вместе. Результат выполнения программы: We caught an int exception with value -1. Continuing our way! Опишите, как работают блоки программы:   

  1. оператор try используется для генерации исключения -1 типа int. Затем блок throw обнаруживает оператор try и перемещает его в соответствующий блок catch, который обрабатывает исключения типа int. Блок catch типа int и выводит соответствующее сообщение об ошибке
  2. оператор throw используется для генерации исключения -1 типа int. Затем блок try обнаруживает оператор throw и перемещает его в соответствующий блок catch, который обрабатывает исключения типа int. Блок catch типа int и выводит соответствующее сообщение об ошибке
  3. оператор throw определяет тип объекта для генерации исключения -1 типа int. После блок try удаляет оператор throw и инициирует блок catch, который обрабатывает исключения
Вопрос 105Ответ открыт бесплатно

Рассмотрим пример использования блока try…catch Текст программы типа Console Application следующий. Какой будет результат программы?

  1. если пользователь введет a = 5 и b = 0, то ответ ошибки будет следующим: «Division by 0»✓ Правильный ответ
  2. если пользователь введет a = 5 и b = 0, то ответ ошибки будет следующим: «Negative root»
  3. если пользователь введет a = 2 и b = 0, то ответ ошибки будет следующим: «Out of range»
✓ Правильный ответ

если пользователь введет a = 5 и b = 0, то ответ ошибки будет следующим: «Division by 0»

О материалах и доступе

Что входит в набор «Введение в объектно-ориентированное программирование.ои(dor)»?

105 вопросов с вариантами из опубликованных тестов (7). Сверьте формулировки и варианты с вашим заданием перед покупкой: разные программы могут содержать разные вопросы.

Какие ответы можно посмотреть бесплатно?

Нажмите «Показать ответы бесплатно»: после завершения индикатора откроется бесплатная часть ответов. Бесплатные ответы отмечены зелёным. При нескольких правильных вариантах отмечены все варианты из ключа ответа. Остальные ответы доступны после покупки.

Как получить полный доступ?

Стоимость — 2 499 ₽. Войдите в личный кабинет и оплатите выбранный предмет. Доступ действует 7 дней; подписки и автоматических списаний нет.

Что делать, если обнаружена ошибка?

Напишите нам и пришлите номер заказа, формулировку вопроса и подтверждение ошибки. Гарантия: 1 ошибка — вернём деньги.

Связаться с АртемХелп · Условия покупки · Политика конфиденциальности