
Синергия/МОИ/МТИ/МОСАП ответы 100 баллов
Введение в объектно-ориентированное программирование
Вопросов в тесте: 91
Вопросы теста
2. Предсказать результат следующей программы:
3. Сущности, использующиеся для получения доступа к отдельным данным в контейнере.
4. Все контейнерные классы предоставляют …
5. Установите соответствия между языками и видами программирования.
6. Конструкторы подчиняются тем же правилам относительно типов параметров, что и …
7. Указателем базового класса можно воспользоваться для …
8. Определение функции, в которой типу обрабатываемых данных присвоено условное обозначение - это...
9. Установите соответствие между операторами и их значениями
10. Установите соответствие между открытиями и их создателями:
11. Роль наследования в ООП такая же, как у функций в процедурном языке программирования, т.е. сократить размер кода и упростить связи между элементами программы. В определенных ситуациях могут появиться некоторые проблемы, связанные со множественным наследованием. Рассмотрим наиболее общую проблему. Допустим, что в обоих базовых классах существуют методы с одинаковыми именами, а в производном классе метода с таким именем нет. Рассмотрим пример. Как в этом случае объект производного класса определит, какой из методов базовых классов выбрать?
12. Важный момент при наследовании - это перегруженные функции - методы класса-потомка. Если в классе-родителе и в его классах-потомках встречаются методы с одинаковым именем, то для объектов класса-потомка, компилятор будет использовать методы именно класса-потомка. Перегруженные методы класса-потомка, могут вызывать методы класса-родителя. В таком случае, важно помнить, что необходимо правильно определить область действия с помощью оператора «::». Иначе, компилятор воспримет это, как вызов функцией самой себя. Наглядно, если бы мы перегрузили в классе функцию - это выглядело бы так. Опишите, что указывает данная запись кода:
13. В определении класса члены класса с ключевым словом private доступны:
14. Если существует два класса, один базовый, другой унаследованный от базового, то при необходимости вызова, последовательность будет следующая:
15. Процесс создания новых классов, называемых наследниками или производными классами, из уже существующих или базовых классов– это …
16. Правило трёх (также известное как «Закон Большой Тройки» или «Большая Тройка») - это правило в C++, гласящее, что если класс или структура определяет один из следующих методов, то они должны явным образом определить все три метода:
17. Обработка исключений, возбужденных оператором throw, идет по следующей схеме:
18. В представленной программе используются throw, try и catch вместе. Результат выполнения программы следующий: We caught an int exception with value -1. Continuing our way! Опишите как работают блоки.
19. Виртуальные методы – это один из важнейших приёмов реализации полиморфизма. Они позволяют создавать общий код, который может работать как с объектами базового класса, так и с объектами любого его класса-наследника. При этом, базовый класс определяет способ работы с объектами, и любые его наследники могут предоставлять конкретную реализацию этого способа. Общий шаблон объявления чисто виртуального метода следующий:
20. Предположим, что класс Derv является частным производным класса Base. Мы определяем объект класса Derv, расположенный в функции main(). Через него мы можем получить доступ к:
21. Установите последовательность создания конструктора:
22. Роль наследования в объектно-ориентированном программировании заключается в:
23. Описать работу кода программы:
24. Укажите последовательность написания кода:
25. Особый вид оператора присваивания, используемый для присваивания объектов одного класса друг другу …
26. Специальная функция класса, которая вызывается при создании нового объекта этого класса и предоставляет возможность инициализировать объекты во время их создания и гарантировать, что все данные члены будут иметь корректные значения это …
27. Структурированная переменная, содержащая всю информацию о некотором физическом предмете или реализуемом в программе понятии – это …
28. Операция присваивания копированием – это особый вид операции присваивания, используемый для присваивания объектов одного класса друг другу. Является одним из особых членов-функций и генерируется автоматически компилятором в случае, если нет явного объявления программистом. Код, сгенерированный компилятором и выполняет побитовое копирование. Операция присваивания копированием отличается от конструктора копирования тем, что должна очищать члены-данные цели присваивания (и правильно обрабатывать самоприсваивание), тогда как конструктор копирования присваивает значения неинициализированным членам-данным. Опишите работу кода программы:
29. ключевое слово virtual используется …
30. Проставьте порядок выполнения кода поэтапно.
31. Перед Вами код. Опишите его результат.
32. Стек – это динамическая структура сохранения данных, которая работает по принципу «последний пришел — первый вышел» (Last-In First-Out). В стеке добавление новых элементов и удаление существующих элементов производится с одного конца, который называется вершиной стека. Организация данных с помощью стека эффективна, когда нужно реализовать: обмен данными между методами приложения с помощью параметров; синтаксический анализ разнообразных выражений. Рассмотрим пример. Выберете, что будет результатом программы:
33. Чтобы в блоке try сгенерировать исключительную ситуацию, нужно использовать оператор throw. Оператор throw может быть вызван внутри блока try или внутри функции, которая вызывается из блока try. Общая форма оператора throw: throw исключение; В результате выполнения оператора throw генерируется исключение некоторого типа. Это исключение должно быть обработано в блоке catch. Рассмотрим пример использования блока try…catch. Демонстрируется использование блока try…catch для обработки выражения. В данном выражении, в трех случаях может возникнуть исключительная ситуация: - корень из отрицательного числа a,
34. Специальный метод без параметров, имя которого состоит из символа ~ и имени класса это …
35. Иерархия классов …
36. В C ++ функция может указывать исключения, которые она генерирует, с помощью ключевого слова:
37. Перед Вами код. Опишите его работу.
38. Ключевыми элементами методологии объектно-ориентированного проектирования, связанного с наследованием относят: 1) выбор надлежащей совокупности типов; 2) проектирование взаимосвязей между типами и применение наследования для использования общего кода; 3) использование виртуальных функций для полиморфной обработки родственных объектов. Опишите код программы, содержащую наследование:
39. Опишите процесс выполнения конструкторов при порождении из нескольких классов поэтапно.
40. Исключительные ситуации, возникающие при работе программы, можно разделить на два основных типа:
41. Проставьте последовательность функций классов-контейнеров в языке C++
42. Операторы присваивания хранят значение в объекте, указанном левым операндом. Существует два вида операций присваивания:
43. Конструктор копирования должен иметь в качестве параметра ссылку, потому что …
44. При описании нового объекта с инициализацией другим объектом этого же типа вызывается …
45. Если есть два класса, один из которых базовый, а другой - унаследованный от базового, то последовательность вызовов следующая:
46. Проставьте последовательность работы конструкций исключительных ситуации:
47. Проставьте последовательность стандартных исключений в иерархии родительско-дочерних классов.
48. Реакция на исключительное обстоятельство, которое возникает во время работы программы - это …
49. Проставьте создание языков программирования в исторической последовательности (от старого до нового):
50. Классы, предназначенные для хранения данных, организованных определенным образом:
51. Представлен код программы. Какой результат выполнения?
52. Классы, предназначенные для хранения данных, организованных определенным образом:
53. Проставьте последовательность алгоритма процесса присваивания
54. Контейнеры бывают …
55. Использование виртуальных функций для полиморфной обработки родственных объектов относят к:
56. При множественном наследовании может сложиться ситуация, когда один и тот же базовый класс наследуется (через разные цепочки наследования) в производном классе несколько раз. Обычно, в этом ничего хорошего нет, т.к. нередко такие ситуации приводят к ошибкам. С другой стороны, совсем избежать подобных ситуаций бывает проблематично. Выход состоит в том, чтобы при создании цепочки наследования, использовать виртуальные базовые классы. Перед Вами код. Выберите, какой будет результат кода.
57. Конструктор — это особый тип метода класса, который автоматически вызывается при создании объекта этого же класса. Деструктор — это специальный тип метода класса, который выполняется при удалении объекта класса. В то время, как конструкторы предназначены для инициализации класса, деструкторы предназначены для очистки памяти после него. Т.о., опишите код программы:
58. Посмотрите код и напишите алгоритм его создания
59. Множественное наследование – это наследование, при котором создание производного класса основывается на …
60. Синтаксис наследования выглядит так:
61. Для работы с очередью вам понадобится знать функции: push(), pop(), front(), back(), empty(). 1) Для добавления в очередь нового элемента нужно воспользоваться функцией — push(). В круглых скобках должно находится значение, которое мы хотим добавить. 2) Если нам понадобилось удалить первый элемент нужно оперировать функцией pop(). В круглых скобках уже ничего не нужно указывать, но по правилам, они должны присутствовать! Эти функции не нуждаются в указании аргумента: empty(), back() и front(). 3) Если вам понадобилось обратиться к первому элементу очереди, то вам понадобится функция front(). 4) Чтобы обратиться к последнему элементу в очереди, вам поможет функция back(). 5) Чтобы узнать, пуста ли очередь, нужно воспользоваться функцией empty(). Если ваша очередь пуста — возвратит true. Если в ней что-то есть — возвратит false. В коде (нижмы использовали все выше перечисленные методы. Выберете, что будет результатом программы:
62. Установите соответствие между операторами и их значениями:
63. Набор согласованных обобщённых алгоритмов, контейнеров, средств доступа к их содержимому и различных вспомогательных функций в C++
64. Проставьте открытия в программировании в исторической последовательности:
65. Векторы — это умные массивы. Они занимаются автоматическим размещением себя в памяти, расширением и сужением своего размера по мере вставки или удаления данных. Векторы можно использовать в какой-то мере как массивы, обращаясь к элементам, с помощью привычного оператора []. Случайный доступ выполняется очень быстро в векторах. Также, довольно быстро осуществляется добавление (или проталкиваниновых данных в конец вектора. Когда это происходит, размер вектора автоматически увеличивается для того, чтобы было куда разместить новое значение. Рассмотрим код программы. Выберете, что демонстрирует данный пример.
66. Проставьте историческую последовательность: как после появления объектно-ориентированного программирования развивалось это направление:
67. Установите соответствие между терминами и определениями:
68. Описать работу кода программы:
69. Посмотрите код и напишите алгоритм его создания:
70. Установите соответствие между операторами и их значениями
71. Что реализуется через механизмы перегрузки (функций и операций), виртуальные функции и шаблоны?
72. Проставьте последовательность процесса написания представленного кода:
73. Основное преимущество наследования – это возможность повторного использования кода. Укажите последовательность выполнения представленного кода:
74. Модификаторы доступа являются ключевыми слова, которые задают параметры доступа для классов, методов и прочих элементов в …
75. Методу класса всегда доступны данные:
76. Шаблон для создания объектов, обеспечивающий начальные значения состояний: инициализация полей-переменных и реализация поведения функций или методов – это …
77. Метод программирования, идея которого была основана на представление программы, как совокупность объектов – это…
78. При выполнении операции присваивания между существующими объектами одного типа вызывается …
79. Варианты использования (кроме всего прочего) нужны для:
80. Предсказать результат следующей программы:
81. Обычно, компилятор автоматически создает конструктор копирования для каждого класса, но в некоторых случаях, программист создает конструктор копирования, называемый:
82. Как решить вопрос о том, какой из спецификаторов использовать при наследовании? В большинстве случаев, производный класс представляет собой улучшенную или более специализированную версию базового класса. В случае, когда объект производного класса предоставляет доступ как к общим методам базового класса, так и к более специализированным методам своего класса, имеет смысл воспользоваться общим наследованием. Проставьте последовательность создания кода простого наследования:
83. Когда используется таблица виртуальных функций?
84. Перегрузка методов это механизм, который позволяет создавать несколько методов с одним и тем же именем. В результате создается иллюзия, что можно вызывать метод с разными аргументами. Перед Вами код перегрузки функции. Выберите правильное описание работы кода.
85. Последовательные контейнеры …
86. Пример работы с контейнером приведен ниже. В файле находится произвольное количество целых чисел. Программа считывает их в вектор и выводит на экран. Опишите последовательность кода:
87. Механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы, и приводят к невозможности дальнейшей отработки программой её базового алгоритма – это:
88. Особый вид оператора, используемый для присваивания объектов одного класса друг другу – это…
89. Классическим примером исключительной ситуации в С++ является:
90. Мы рассмотрим ситуацию создания динамического массива. В программе для обработки исключительных ситуаций создадим динамический массив. Единственная особенность программы в том, что размер создаваемого массива определяется пользователем уже в процессе выполнения программы: при запуске программы, появляется сообщение с просьбой ввести целое число, число считывается, и в соответствии со считанным значением создается динамический массив. Рассмотрим программный код. Каким будет результат, если после выполнения программы ввести отрицательное число.
91. Рассмотрим программный код. Каким будет результат, если после выполнения программы ввести отрицательное число.
Нужна помощь именно с твоим тестом?
Написать намПохожие тесты
Ещё материалы, которые могут пригодиться по этой теме.

Введение в профессию психолог
Синергия/МОИ/МТИ/МОСАП ответы 100 баллов
подробнее
Информатика и программирование
Синергия/МОИ/МТИ/МОСАП ответы 100 баллов
подробнее
Введение в клиническую психологию
Синергия/МОИ/МТИ/МОСАП ответы 100 баллов
подробнее