
- •Практичне завдання.
- •Вкажіть правильну відповідь:
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •А) нічого, буде помилка компіляції;
- •Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •3.4. Який правильний варіант створення екземпляра об'єкта?
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
- •Вкажіть правильну відповідь:
- •4. Практичне завдання.
Охарактеризуйте базисні поняття об'єктно-орієнтованого підходу до розробки програмного забезпечення.
Здійсніть аналіз основних підходів до реалізації шаблонної функції з одним узагальненим типом.
Вкажіть правильну відповідь:
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. Практичне завдання.
Дайте характеристику базовим поняттям класу та особливостям використанням конструкторів та деструкторів у класі.
Охарактеризуйте основні поняття про узагальнені (шаблонні) класи.
Вкажіть правильну відповідь:
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).
Практичне завдання.
Охарактеризуйте особливості використання структур та об’єднань у задачах розробки програмного забезпечення з використанням об’єктно-орієнтованих підходів.
Особливості створення шаблонних класів з двома узагальненими типами даних.
Вкажіть правильну відповідь:
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. Що із себе представляє динамічне виділення пам'яті?
а) пам'ять під об'єкт (змінну) виділяється кожного разу при зверненні до змінної;
б) пам'ять під об'єкт (змінну) може виділятися не відразу, а в процесі роботи програми; в) звільнення пам'яті проводиться автоматично після завершення програми;
г) пам'ять під об'єкт (змінну) може виділятися не відразу, а в процесі роботи;
д) звільнення пам'яті проводиться вручну.
Охарактеризуйте апарат inline-функцій у аспектах об’єктно-орієнтованого програмування.
Особливості обробки виняткових ситуацій: системні засоби обробки виняткових ситуацій.
Вкажіть правильну відповідь:
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. Практичне завдання.
Охарактеризуйте основні особливості використання специфікаторів public, protected, private при реалізації доступу до членів класу та наслідуванні.
Основні варіанти обробки виняткових ситуацій: організація процедури перехоплення винятків.
Вкажіть правильну відповідь:
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);