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

  1. Охарактеризуйте базисні поняття об'єктно-орієнтованого підходу до розробки програмного забезпечення.

  2. Здійсніть аналіз основних підходів до реалізації шаблонної функції з одним узагальненим типом.

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

3.1. Відзначте вірне твердження:

а) шаблон може бути членом класу або шаблоном класу;

б) шаблон може бути членом тільки шаблону класу;

в) шаблон може бути членом тільки класу;

г) шаблон не може бути членом класу або шаблону-класу.

3.2. Який із стандартних класів використовується для виведення рядків на термінал:

а) strstream;

б) ostream;

в) ofstream;

г) istream;

д) ifstream.

3.3. Чи можливо використовувати механізм обробки виняткових ситуацій в деструкторі

а) так, але робити це слід з обережністю;

б)  так, ніяких проблем виникнути не може;

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

г)  так, але результат буде непередбачуваний.

3.4. Вибрати найбільш коректний варіант оголошення оператора додавання і присвоювання двох об'єктів класу A:

а) const A & operator + = (const A & a);

б) A & operator + = (const A & a);

в) A & operator + = (A & a) const;

г) const A & operator + = (A & a) const.

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

  1. Дайте характеристику базовим поняттям класу та особливостям використанням конструкторів та деструкторів у класі.

  2. Охарактеризуйте основні поняття про узагальнені (шаблонні) класи.

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

3.1. Відзначте правильний заголовок шаблону функції:

а) template void Sum (T x1, T x2);

б) class template Sum;

в) template class;

г) template class Sum (T x1, T x2).

3.2. Який правильний варіант створення екземпляра об'єкта?

template class Matrix

{Public: Matrix (int, int);

~ Matrix () {}

}

----------------------------------------------------------------------------------------

а) Matrix x (4.5, 5.4);

б) Matrix x (4, 5);

в) Matrix :: x (4, 5).

3.3. У чому полягає призначення оператора переходу goto?

а) змінює послідовність виконання операторів у програмі;

б) необхідний для передачі аргумент до функції;

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

г) для переходу з однієї функції в іншу.

3.4. Який з наведених нижче прототипів операції додавання для класу

class A {int x; double y; ... }

є найбільш коректним?

----------------------------------------------------------------------------------------

а) void operator + (const A & a) const;

б) const A & operator + (A a);

в) A operator + (const A a) const;

г) const A & operator (const A & a).

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

  1. Охарактеризуйте особливості використання структур та об’єднань у задачах розробки програмного забезпечення з використанням об’єктно-орієнтованих підходів.

  2. Особливості створення шаблонних класів з двома узагальненими типами даних.

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

3.1. У програмі на мові С++ обов'язково є функція

а) head;

б) start;

в) prime;

г) main;

д) finish.

3.2. Що означає запис while (false)?

а) нескінченний цикл;

б) цикл, який не виконується жодного разу;

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

г) аварійний вихід з програми.

3.3. Вкажіть який результат буде у наступного прикладу?

float array [5]; array [1] = 10; array [2] = 3;

float array2 [5]; array2 = array;

cout << array2 [1];

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

а) 10;

б) 3;

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

г) 0;

3.4. Що із себе представляє динамічне виділення пам'яті?

а) пам'ять під об'єкт (змінну) виділяється кожного разу при зверненні до змінної;

б) пам'ять під об'єкт (змінну) може виділятися не відразу, а в процесі роботи програми; в) звільнення пам'яті проводиться автоматично після завершення програми;

г) пам'ять під об'єкт (змінну) може виділятися не відразу, а в процесі роботи;

д) звільнення пам'яті проводиться вручну.

  1. Охарактеризуйте апарат inline-функцій у аспектах об’єктно-орієнтованого програмування.

  2. Особливості обробки виняткових ситуацій: системні засоби обробки виняткових ситуацій.

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

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

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

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

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

3.2. Якщо у функції main () виконується ...

...

int a = 9; / / у глобальному просторі

void f () {int a; a = 4;}

...

cout << a;

то що буде виведено?

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

а) 9;

б) 0;

в) 4;

г) інший результат.

3.3. Який клас може використовуватися в якості типу атрибута класу?

а) базовий клас даного класу;

б) похідний від даного класу;

в) користувальницький клас;

г) довільний клас.

3.4. Який із записів є правильною формою запису абстрактного класу?

а) abstract class A {virtual int f () = 0;};

б) class A {virtual int f () = 0;};

в) class A {virtual int f ();}.

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

  1. Охарактеризуйте основні особливості використання специфікаторів public, protected, private при реалізації доступу до членів класу та наслідуванні.

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

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

3.1. Компілятор мови Сі++:

а) переводить текст програми в машинні інструкції;

б) виконує програму;

в) форматує текст програми так, щоб його було зручно читати;

г) проводить розрахунки.

3.2. Який масив має найбільший розмір?

char * s1 = "QWERTY";

char s2 [7] = "qwerty";

char * s3 = "127 * 27";

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

а) Всі масиви мають однаковий розмір;

б) s1;

в) s2;

г) s3;

3.3. Що станеться після оголошення в програмі даного набору перелічуваних значень: enum {N = 0, E = 1, S = 2, W = 3};?

а) програма буде працювати з числовими значеннями N, Е, S і W;

б) програма буде працювати з ідентифікаторами N, Е, S і W;

в) програма сформує ітератори з покажчиками на N, Е, S і W;

г) програма буде ігнорувати всі покажчики на N, Е, S і W;

3.4. Є функція int sum (int a, int a1 = 2, int a2, int a3, int a4) {return a + a1 + a2 + a3 + a4;} що буде виведено на екран після виконання коду cout << sum (9,8,7,6);