Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП - Екзаменаційні питання new2.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
190.98 Кб
Скачать
  1. Здійсніть аналіз механізмів успадкування декількох базових класів: множинне успадкування.

  2. Організація файлового введення-виведення даних: практична реалізація механізмів запису/зчитування даних з файлу.

  3. Вкажіть правильну відповідь:

3.1. Чи припустима наступна конструкція?

class A {

 int x;

 int f (const A & a) {x + = a.x; return x;}

 };

==========================================================

а) допустима;

б) відбудеться помилка компіляції;

в) відбудеться помилка при виконанні.

3.2. Для чого призначений оператор namespace?

а) для укладення в групу оголошень класів, змінних і функцій в окремий контекст зі своїм ім'ям;

б) для укладення в групу оголошень класів, змінних і функцій для використання тільки в поточному модулі;

в) для використання класів, змінних і функцій з інших модулів програми без використання заголовних файлів.

3.3. Які вимоги пред'являються до класу виняткових ситуацій?

а)   він повинен бути успадкованою від спеціального класу exception;

б)   він не може використовувати множинне спадкування;

в)   він повинен містити атрибути тільки вбудованих типів;

г) він може бути довільним класом.

3.4. Який результат буде в наступного виразу?

const char * str1 = "hello";

char * str2 = const_cast (char *) str1;

cout << str2;

==========================================================

а) hello;

б) h;

в) hellohello;

г) помилка компіляції.

4. Практичне завдання.

  1. Надайте узагальнену характеристику основним механізмам реалізації віртуальних функцій.

  2. Організація файлового введення-виведення даних: неформатне введення-виведення даних у двійковому режимі.

  3. Вкажіть правильну відповідь:

3.1. Що відбувається при спробі виконати оператор return всередині блоку catch?

а)  аварійна зупинка програми;

б)  повторне створення оброблюваної виняткової ситуації;

в) вихід з функції;

г)  помилка компіляції;

д)  помилка виконання.

3.2. Якщо в класі A визначені методи

A (int x);

operatorint ();

operator + + (int);

то які з них будуть викликані в наступному виразі? ;

A b; static_cast (b + 1);

==========================================================

а) operator int (), конструктор;

б) operator + + (int), operator int (), конструктор;

в) толькоконструктор;

г) тільки operator int ();

д) operator + + (int), конструктор.

3.3. Чи потрібно враховувати при перевантаженні бінарних операцій порядок проходження операндів?

а) необхідно враховувати;

б) необхідно визначати;

в) необов'язково враховувати;

г) необов'язково визначати.

3.4. Що означає cout << setw (3)?

а) ширина поля виведення встановлюється рівною 3;

б) виведені рядки скорочуються до 3 символів;

в) виведені рядки доповнюються до 3 символів;

г) не можна ввести більше 3 символів за один раз.

  1. Практичне завдання.

  1. Здійсніть узагальнюючий аналіз процесів реалізації успадкування віртуальних функцій.

  2. Охарактеризуйте основні поняття про простори імен. Застосування простору імен std.

  3. Вкажіть правильну відповідь:

3.1. Вкажіть в якому вираженні відбудеться втрата точності

а) int i; float x = 2.134, y = 3.14; i = x / y;

б) float M = 235.2; double Z = 3; Z * = M;

в) short i = 0x3; float x = 2.7, v; v = i + x.

3.2. Що буде виведено на екран в результаті виконання наведеної нижче програми:

# іnclude "iostream.h"

# іnclude "conio.h"

# Define N = 10

int main ()

{

int x = N;

cout << x;

getch ();

return 0;

}

==========================================================

а) компілятор видасть помилку компіляції;

б) N;

в) 10;

г) x.

3.3. Як називається функція, яка викликає саму себе?

а) конструктором;

б) деструктором;

в) підставляєма;

г ) рекурсивної.

3.4. Чи є x змінної або константою?

а) y = 12 + x;

б) є змінною;

в) є константою;

г) визначити не можна.