Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Питання до ДЕК.doc
Скачиваний:
17
Добавлен:
12.02.2016
Размер:
63.12 Кб
Скачать

Запитання з дисципліни "Об'єктно-орієнтоване програмування"

РІВЕНЬ 1

1.1. Чим задається розмір об’єкта класу?

  1. Розмір об’єкта класу в пам’яті визначається сумою розмірів членів класу.

  2. Розмір об’єкта класу в пам’яті визначається сумою розмірів членів-даних класу.

  3. Розмір об’єкта класу в рівний розміру посиланню на тип int.

  4. Розмір об’єкта класу в рівний розміру вказівника на об’єкт класу.

  5. Розмір об’єкта класу в рівний розміру посиланню на тип char.

1.1. Чи мають якісь привілеї вкладені класи по відношенню до зовнішніх?

  1. Так.

  2. Ні.

  3. Мають доступ тільки до відкритих членів

  4. Мають доступ тільки до відкритих членів зовнішнього класу.

  5. Мають доступ тільки до відкритих членів похідного класу.

1.1. Наведений код є

class А

{

int i;

public:

void MyFunc( ) {i=0;}

void MyFunc( int x) { i=x;}

void MyFunc( int x, int y) { i=x+y;}

void MyFunc( int x, int y, int z = 0) { i=x+y+z;}

};

. . .

A a;

MyFunc(3, 2);

  1. Правильним;

  2. З помилкою періоду компіляції;

  3. З помилкою періоду зв’язування;

  4. З помилкою періоду виконання;

  5. З помилкою періоду зв’язування із помилкою періоду виконання.

1.1. В чому різниця між:

if (ptr != 0 && *ptr != 0){...}

і

if (*ptr != 0 && ptr != 0){...}

  1. Не чітко визначена пріоритетність операцій;

  2. Абсолютно ідентичний код;

  3. В другому випадку можливий Access Violation;

  4. В першому випадку можливий Memory Leak;

  5. Абсолютно ідентичний код, де абсолютно ідентичний код.

1.1. Для чого потрібна попередня декларація класу?

  1. Для попереднього створення копій класу;

  2. Для попереднього створення посилань на копії класу;

  3. Для організації функцій із параметром, який є посиланням на об'єкт класу

  4. Для організації функцій із параметром, який є копією класу.

  5. Усі варіанти вірні

1.1. Виклик методу об’єкту можливий через

  1. Вказівник на метод класу

  2. Вказівник на метод об’єкту

  3. Вказівник на глобальну функцію.

  4. Вказівник на метод структури

  5. Вказівник на метод об"єднання

1.1. В чому різниця між відкритими (public) і закритими (private) членами-даних?

  1. До відкритих членів класу доступ мають усі користувачі даного класу, а до закритих – тільки сам клас та дружні функції (чи дружні класи).

  2. До відкритих членів класу доступ мають усі користувачі даного класу, а до закритих – тільки сам клас та похідні класи.

  3. До відкритих членів класу доступ мають тільки сам клас і похідні класи, а до закритих – тільки сам клас та дружні функції (чи дружні класи).

  4. До відкритих членів класу доступ мають усі користувачі даного класу, а до закритих – тільки сам клас та дружні функції (чи дружні класи).

  5. До відкритих членів класу доступ мають тільки сам клас і похідні класи, а до закритих – тільки сам клас та дружні функції (чи дружні класи).

1.1. Як ініціалізуються змінні, які є приватними статичними членами класу?

  1. Через похідні класи

  2. Статична змінна ініціалізується автоматично

  3. Статичні члени можуть бути виключно відкритими, а тому ініціаліалізувати закритий неможливо.

  4. Через вкладені класи.

  5. Через структури

1.1 Посилання на новий об'єкт повертає?

  1. Конструктор по замовчуванні

  2. Оператор присвоєння.

  3. Оператор new

  4. Оператор рівності

  5. Деструктор

1.1. Чи можуть статичні змінні-члени бути закритими?

  1. Так.

  2. Ні.

  3. Тільки статичні члени даних.

  4. Статичні члени можуть бути виключно відкритими, а тому ініціаліалізувати закритий неможливо.

  5. Тільки локальні члени даних

1.1. Що дає оголошення методів класу з модифікатором const?

  1. робить постійним вказівник vptr.

  2. робить постійним вказівник vtab.

  3. робить постійним вказівник this.

  4. відміняє модифікатор mutable

  5. відміняє модифікатор volatile

1.1. Чим відрізняється перевантаження префіксних і постпрефіксних операторів інкременту?

  1. Логічним прапорцем bool.

  2. Перевантаження префіксних операторів не підтримується.

  3. Перевантаження постпрефіксних операторів в класах не підтримується.

  4. Логічним прапорцем сhar

  5. Логічним прапорцем int.

1.1. Для чого клас оголошується абстрактним?

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

  2. Для обох приведених випадків.

  3. Створення абстрактного класу дає змогу побудувати єдиний інтерфейс доступу через посилання на абстрактний клас.

  4. Так у випадку, якщо є конструктор, інакше – ні

1.1 Операція, яка виконує задані дії над призначеним для користувача типом даних, називається:

    1. поліморфічною;

    2. перевантаженою.

    3. інкапсульованою;

    4. класифікованою.

    5. наслідуваною

1.1. Як викликати функцію базового класу через об’єкт похідного класу, якщо в похідному класі ця функція була переозначена?

  1. Як звичайний метод.

  2. За допомогою оператора дозволу дії (::).

  3. За допомогою оператора дії (.)

  4. Переозначений в похідному класі метод батьківського класу викликати заборонено.

  5. Для усіх вище перелічених

1.1. Для чого використовувати аргументи із значеннями по замовчуванню якщо можна перевантажити функцію?

  1. Легше зрозуміти роботу функції, яка використовує значення по замовчуванню.

  2. Швидше передаються аргументи в тіло функції.

  3. Швидше звільняється стек після завершення роботи функції

  4. Не переповнюється стек при передаванні значень в тіло функції.

  5. Для усіх вище перелічених

1.1. Чи можна в похідному класі оголосити закриту функцію, яка в базовому класі оголошена відкритою?

  1. Так, похідний клас може переозначити метод батьківського і зробити його закритим.

  2. Так, але якщо в похідному класі буде дві версії функції, одна - відкрита, а інша -закрита.

  3. Обидва перелічені варіанти

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

  5. Ні, похідний клас не може переозначити відкритий метод батьківського класу

1.1. Чи наслідуються дані і функції-члени базового класу в похідних класах? Якщо клас Dog походить від класу Mammal, а клас Mammal – від класу Animals, то чи унаслідує клас Dog дані і функції класу Animals?

  1. Ні. Наслідування в похідних класах передбачає наслідування виключно з власних базових класів, які є проміжними в ієрархія наслідування. Це означає, що клас Dogмає право наслідувати тільки члени класуMammalі не нічого не може наслідувати з класуAnimals.

  2. Ні. Оскільки потрібні спеціальні для продовження наслідування модифікатори.

  3. Обидва варіанти вище перелічені

  4. Так. Оскільки наслідування продовжується безкінечно, всі похідні класи унаслідують усі допустимі члени усіх базових класів.

  5. Так. Оскільки наслідування продовжується безкінечно, всі похідні класи унаслідують усі допустимі члени безпосередньо базових класів.