Главная страница

Тема Объектноориентированное программирование 6


Скачать 2.09 Mb.
НазваниеТема Объектноориентированное программирование 6
Дата26.12.2022
Размер2.09 Mb.
Формат файлаdocx
Имя файлаalgoritmizatsia_i_programmirovanie.docx
ТипДокументы
#865497
страница2 из 3
1   2   3

[7.2.18]

ВЫБОР


На рисунке изображено определение класса Student. В результате выполнения данного листинга кода будет выведено …



В- name="" age=0 kurs=0

В- ошибка компиляции

В- name=Иванов age=0 kurs=0

+В- name= age= случайное значение kurs= случайное значение


[7.2.20]


ВЫБОР

Внутри области действия класса элементы класса непосредственно доступны для всех элементов-функций этого класса и допускают обращение просто по …

+В- имени элемента

В- имени объекта

В- ссылке на объект

В- указателя на объект

В – имени файла


[7.2.21]


ВЫБОР

Вне области действия класса на элементы класса можно ссылаться через:

+В- имя объекта

+В- ссылку на объект

В- имя программы

В – имя файла

+В- указатель на объект

[7.2.22]

ВЫБОР


На рисунке изображено определение класса Student. Правильным присвоением элементов данных и вызовом метода для obj1 является …



+В- Obj1.name = "Иванов"; Obj1.age = 19; Obj1.kurs = 1;

В- Obj1->name = "Иванов"; Obj1->age = 19; Obj1->kurs = 1;

В- Obj1->print();

+В- Obj1.print();
Тема 7.3. Конструкторы и деструкторы классов.

[7.3.1]


ВЫБОР

Конструкторы в языке С++ делятся на:

В- удаления

В- отражения

+В- по умолчанию

+В- с параметрами

+В- преобразования

+В- копирования

[7.3.3]


СООТВ

На рисунке изображено определение класса Facultet. Соответствие между номерами и прототипами конструкторов – это …



1 без параметров

5 преобразования

3 с параметрами

4 по умолчанию

2 копирования

[7.3.6]


ВЫБОР

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

+ В- выполнении оператора new объявления объекта

+ В- копировании объекта данного класса

В- создании объекта

В- прекращении существования объекта из-за завершения области его определения

В- выполнении оператора delete к объекту


[7.3.10]


ВЫБОР

На рисунке изображено определение класса Student. Ошибочный прототип функции класса – это …



В- 1)

В- 2)

В- 3)

В- 4)

+В- 5)


7.4. Композиция, друзья классов и специальные элементы класса
[7.4.1]

ВЫБОР

Элемент данных, который представляет собой «общеклассовую» информацию называется …

В- динамическим

В- вложенным

+В- статическим

В- непрерывным

[7.4.5]

ВЫБОР

На рисунке дано описание класса Student. Закрытое поле count – статический элемент, предназначенный для определения общего количества созданных объектов класса. Правильным оператором вывода количества созданных объектов является …



В- Ob1.count

В- Student::count

+В- Student::getCount()

В- count

В- Ob1.getCount()

[7.4.8]

ВЫБОР

Даны два класса Kafedra и Student. Student в качестве элемента содержит объект класса Kafedra. Пропущенным оператором в конструкторе класса Student является …



В- Kafedra(name2)

+В- kaf(name2)

В- name2

В- Kafedra::name2


[7.4.12]

ВЫБОР

Функция, не являющаяся элементом класса, но имеющая доступ к его закрытым и защищенным элементам – это … класса.

В- константа

+В- друг

В- интерфейс

В- реализация

[7.4.14]

ВЫБОР

Пропущенными операторами в описании дружественной функции является …



+ В- friend

+ В- Facultet

В- string

В- int

В- char
[7.4.17]

ВЫБОР

Пропущенными операторами в вызове дружественной функции является …



В- Facultet::setFacultet(obj2, "Гуманитарный", "Осипов");

+В- setFacultet(obj2, "Гуманитарный", "Осипов");

В- Facultet.setFacultet(obj2, "Гуманитарный", "Осипов");

В- obj2.setFacultet("Гуманитарный", "Осипов");
Раздел 8. Наследование и полиморфизм

8.1. Статический полиморфизм. Перегрузка операций

[8.1.3]

ВЫБОР

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

В - Операция +

В - Операция –

+В - Операция =

В - Операция %


[8.1.7]

ВЫБОР

Неоднозначность операции << в С++ связана с …

В - операция является как операцией сдвига вправо, так и операцией извлечения из потока.

+В - операция является как операцией сдвига влево, так и операцией передачи в поток.

В – операция неопределенна в С++.

[8.1.10]

ВЫБОР

Для перегрузки операций нельзя использовать ….

+В- аргументы по умолчанию

В - формальные параметры

В – фактические параметры

В – указатели


[8.1.16]

ВЫБОР

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

В - принадлежащим классу этой операции.

+В - принадлежащим другому классу.

+В - принадлежащим встроенному типу.

В – не принадлежащий классам.

[8.1.21]

ВЫБОР

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



В – input

+В - output

В - PhoneNumber

В- [output]

[8.1.23]

ВЫБОР

Двухместная операция для класса может быть перегружена:

+В - не статической функцией-элементом с одним аргументом

В - не статической функцией-элементом с двумя аргументами

В – дружественной функцией, не имеющей аргументов

+В - функцией, не являющейся объектом класса с двумя аргументами.

[8.1.24]

ВЫБОР

Операция приведения типов может использоваться для преобразования:

В- объекта встроенного типа в виртуальный объект

+В- объекта одного класса в объект другого класса.

+В- объекта одного класса в объект встроенного типа.

В – объекта одного класса в объект общего интерфейса.

Тема - 8.2. Наследование. Одиночное наследование

[8.2.2]

ВЫБОР

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



+В- агрегация

В- ассоциация

В- наследование

В- инкапсуляция

В- полиморфизм

[8.2.11]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, с помощью которого необходимо определить производный класс Circle (Окружность) от базового класса Point (Точка) с открытым типом наследования. Недостающими операторами в листинге кода на языке С++ являются …



+В - public Point

В - public

В – Point

В – private Point

В – protected Point

В - protectred

[8.2.13]

ВЫБОР

Доступ к закрытым элементам базового класса при наследовании имеют:

+В - элементы-функции базового класса

В - элементы-функции производного класса

+В - друзья базового класса

В – друзья производного класса

В – глобальным переменным программы.

[8.2.14]

ВЫБОР

Доступ к защищенным элементам базового класса при наследовании имеют:

+В - элементы-функции базового класса

+В - друзья производного класса.

В – статическим элементам производного класса

В – глобальным переменным программы

+В - элементы-функции производного класса

+В - друзья базового класса


[8.2.19]

ВЫБОР

Конструктор производного класса может вызвать конструктор базового класса :

+В - неявно

+В - в конструкторе производного класса указать инициализатор базового класса

В – не возможно выполнить

В – в функции-элементе производного класса вызвать конструктор базового класса
8.3. Множественное наследование

[8.3.7]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены два базовых класса Base1 и Base2 и производный класс Derived. Производный класс наследуется открытым типом наследования. Недостающая часть кода - это …


В - public Base1, Base2

В - private Base1, private Base2

+В - public Base1, public Base2

В - Base1, Base2


[8.3.10]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены два базовых класса Base1 и Base2 и производный класс Derived. При определении конструктора производного класса недостающей частью кода является:


В - value=i; letter=c; real=f;

В – this.value=i; this.letter=c; real=f;

+В - real=f;

+В - Base1(i), Base2(c)

В - Base1(c), Base2(i)

В – Base1(value=i), Base2(letter=c)
[8.3.11]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены два базовых класса Mam и Dad и производный класс Child. Недостающая часть кода - это …



В- name

В- c

+В- c.name

В- c.Mum::name

В- c.Dad::name


[8.3.13]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены два базовых класса Mam и Dad и производный класс Child. Недостающая часть кода - это …



В- name

В- c

В- c.name

В- c.Mum::name

+В- c.Dad::name


8.4. Приведение указателей при наследовании классов
[8.4.1]

ВЫБОР

Переопределение объекта базового класса в производный осуществляется путем …

В – использования объекта базового класса без дополнительных преобразований

В - явного преобразования указателя базового класса в указатель производного

В – неявного преобразования указателя базового класса в указатель производного

+В - явного преобразования указателя производного класса в указатель базового.

[8.4.2]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Point (Точка) и производный класс Circle (Окружность) с открытым типом наследования. Выделенный в рамку программный код выполняет …


В – приведение базового класса Point к производному классу Circle

В – преобразование базового класса к интерфейсу

В – преобразование производного класса к интерфейсу

+В - приведение производного объекта Circle к базовому классу Point
[8.4.4]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Point (Точка) и производный класс Circle (Окружность) с открытым типом наследования. Результат выполнения программного кода - это …


+ В - ошибка во время компиляции

В – 49,455

В – 12,56

В – 200,96
[8.4.5]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Point (Точка) и производный класс Circle (Окружность) с открытым типом наследования. Результат вывода выделенного в рамку программного кода - это …


В - 2.7

В – 3.5

В – 5.3

В – 1.2

В - 22.9

+В - не определено

[8.4.6]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Point (Точка) и производный класс Circle (Окружность) с открытым типом наследования. Выделенный в рамку программный код выполняет …


+В - небезопасное приведение базового класса Point к производному Circle

В – приведение производного класса Circle к базовому Point

В – преобразование базового класса к интерфейсу

В – преобразование производного класса к интерфейсу
[8.4.7]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Point (Точка) и производный класс Circle (Окружность) с открытым типом наследования. Результат выполнения программного кода - это …



В – [10, 2, 8]

В – [3.5, 4.5, 2]

+В - [10 , 2]

В – [3.5, 4.5]

В – ошибка компиляции

В - не определено
[8.4.14]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Point (Точка) и производный класс Circle (Окружность) с закрытом типом наследования. Результат выполнения программного кода - это …



+В - [10 , 2]

В – [10, 2, 8]

В – [3.5, 4.5, 2]

В – [3.5, 4.5]

В – ошибка компиляции

В - не определено

8.5. Динамический полиморфизм, механизм виртуальных функций
[8.5.1]

ВЫБОР

Если виртуальная функция вызывается при помощи ссылки на объект по его имени и операции-точки выбора элемента класса, то ссылка разрешается во время компиляции. При этом вызывается виртуальная функция из класса, которому принадлежит данный объект. Этот механизм называется …

В – абсолютным связыванием

В - динамическим связыванием

+В - статическим связыванием

В – наследованием

В - перегрузкой

[8.5.2]

ВЫБОР

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

В – тот же возвращаемый тип

В – тот же список параметров

+В - тот же возвращаемый тип и список параметров

В – любой произвольный возвращаемый тип

В – любой список параметров

[8.5.5]

ВЫБОР

Класс, имеющий виртуальные функции, становится абстрактным, если одна или несколько его виртуальных функций объявлены …

В - друзьями

В – полиморфными

+В - чистыми

В – абстрактными

В - динамическими


[8.5.11]

ВЫБОР

Если вызывается виртуальная функция, которая объявлена в базовом классе через указатель на базовый класс, ссылающийся на объект производного класса, то программа выбирает динамически функцию производного класса. Этот механизм в С++ называется …

В - статическим связыванием

В – абсолютным связыванием

+В - динамическим связыванием

В – наследованием

В - перегрузкой

[8.5.16]

ВЫБОР

На основе абстрактных классов можно создавать …

+В- указатели на абстрактные классы

В- объекты на абстрактные классы

В- массивы объектов абстрактных классов

В- структуры объектов абстрактных классов

[8.5.17]

ВЫБОР

Полиморфное поведение обеспечивается механизмом …

В- шаблонов

+В- виртуальных функций

В- контейнеров

В- объектов и классов

[8.5.19]

ВЫБОР

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

В- виртуальным

+В- невиртуальным

В – закрытым

В- константным

[8.5.21]

ВЫБОР

На рисунке приведено описание класса Student. Чистая виртуальная функция – это …



В- Student(string name, int age)

В- Student()

+В- show()

В- progress()


[8.5.24]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Employee (Сотрудник) и производный класс HourlyWorker (Работник, получающий почасовую оплату) с открытым типом наследования. Номер строки кода, в котором выполняется статическое связывание - это …



В- 1)

В- 2)

+В- 3)

В- 4)

В- 5)
[8.5.25]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Employee (Сотрудник) и производный класс HourlyWorker (Работник, получающий почасовую оплату) с открытым типом наследования. Номер строки кода, в котором выполняется динамическое связывание - это …



В- 1)

В- 2)

В- 3)

В- 4)

+В- 5)


[8.5.29]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Employee (Сотрудник) и производный класс HourlyWorker (Работник, получающий почасовую оплату) с открытым типом наследования. Результатом выполнения данного листинга кода является - это …



+В- ошибка компиляции

В- вывод базового и производного объекта

В- вывод базового объекта

В- вывод неопределенного значения

[8.5.33]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определены базовый класс Employee (Сотрудник) и производный класс HourlyWorker (Работник, получающий почасовую оплату) с открытым типом наследования. Результатом выполнения данного листинга кода является - это …


В- 0

В- 100

+В- 550

В- ошибка компиляции

[8.5.36]

ВЫБОР

На рисунке приведена часть программного кода на языке С++, на котором определен базовый класс Shape (Фигура). Согласно принципам объектно-ориентированного программирования этот класс называется …



+В- интерфейсом

В- абстрактным классом

В- ассоциации

В- агрегации

В- реализации

8.6. Параметрический полиморфизм

[8.6.1]

ВЫБОР

Шаблоны в языке С++ делятся на шаблоны:

+В- функции

+В- класса

В- массива

В- коллекции

В- типа


[8.6.7]

СООТВ

На рисунке приведен листинг кода, в котором определяется шаблон функции вычисления удвоенного значения некоторого числа произвольного встроенного типа. Соответствие между номерами и операторами следующее:



1 template

3 T

2 typename


[8.6.12]

ВЫБОР

Пропущенными ключевыми словами при объявлении шаблона класса являются:



В- typename

+В- template

+В- class

В- shablon

В- function

В- T

[8.6.13]

ВЫБОР

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



В- Item obj;

В- Item< > obj;

В- Item * obj;

+В- Item< int > obj;


[8.6.16]

ВЫБОР

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



В- Test t;

+В- Test< int, int > t;

В- Test < int> t;

В- Test * Test;


[8.6.18]

ВЫБОР

Дано объявление шаблона функции:

тип возвращаемого значения – это …
в- string

+в- char

в- int

в- string*

в- double

[8.6.20]

ВЫБОР

Дано объявление шаблона функции:


Вызов функции, при котором, тип возвращаемого значения будет long – это …

в- double a; long* b; func (a, b);

+в- int* a; double* b; func(a);

в- long b; func (b, 14.0);

в- int a = 14; int b =14; func(a, b);

[8.6.22]

ВЫБОР

Результат компиляции приведенного фрагмента кода с определением шаблона класса – это …

в- компиляция будет выполнена, если тип Type – это пользовательский класс

+в- программа не будет скомпилирована, ошибка в программе

в- компиляция будет выполнена, если тип Type имеет перегруженный оператор ==

в- компиляция будет выполнена, если тип Type – встроенный тип данных

[8.6.25]

ВЫБОР

Даны следующие шаблоны функции:


будет …
в- 1

+в- 2

в- 3

в- код не скомпилируется
[8.6.26]

ВЫБОР

Даны следующие шаблоны функции:

будет использован шаблон под номером …

в- 1

в- 2

в- 3

+в- 4

[8.6.27]

ВЫБОР

Дано следующее определение шаблона класса:


Верное определение функции f – это …



В – 1

В – 2

+В - 3

В – 4


[8.6.29]

ВЫБОР

Дан следующий фрагмент кода на языке С++, реализующий определение шаблона класса. Недостающими операторами являются :


+в - return *this;

+в - double

в – int

в – char

в – return n;

Раздел 9. Динамика и обработка исключительных ситуаций

1   2   3


написать администратору сайта