asyan.org
добавить свой файл
1
ТЕСТОВІ ЗАВДАННЯ

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

Напрям підготовки “ Комп'ютерні науки ”

Навчальний рік 2007/2008

Атестація 3 семестр 6 курс 3

Викладач Крячок Н.П.

І рівень


1. Яке розширення моє файл у якому оголошується клас?

  1. .cpp

  2. .h

  3. .exe

  4. .doc


2. Яке розширення має файл у якому описуються методи класу?

  1. .cpp

  2. .h

  3. .exe

  4. .doc


3. Клас –

  1. Це спеціальний метод, що використовується для ініціалізації полів класу;

  2. Це типи даних, які визначені користувачем;

  3. Це спеціальні методи, призначені для виконання заключних операцій перед знищенням об’єктів;

  4. Це змінні типу клас .


4. Конструктор -

  1. Це спеціальний метод, що використовується для ініціалізації полів класу;

  2. Це типи даних, які визначені користувачем;

  3. Це спеціальні методи, призначені для виконання заключних операцій перед знищенням об’єктів;

  4. Це змінні типу клас .


5. Об’єкти класу -

  1. Це спеціальний метод, що використовується для ініціалізації полів класу;

  2. Це типи даних, які визначені користувачем;

  3. Це спеціальні методи, призначені для виконання заключних операцій перед знищенням об’єктів;

  4. Це змінні типу клас .


6. Деструктор -

  1. Це спеціальний метод, що використовується для ініціалізації полів класу;

  2. Це типи даних, які визначені користувачем;

  3. Це спеціальні методи, призначені для виконання заключних операцій перед знищенням об’єктів;

  4. Це змінні типу клас


7. Константним називається об’єкт

  1. Значення полів якого змінити не можна

  2. Який позначається ключовим словом VAR;

  3. Який позначається ключовим словом DATA.


8. Ключове слово при оголошенні константного методу

  1. Const;

  2. DATA

  3. VAR


9. Ключове слово при оголошенні статичного методу

  1. Const;

  2. Statsc;

  3. VAR


10. Призначення бібліотечної функції полів строкового типу - strlen(s)

  1. Копіює рядок s2 в s1 ;

  2. Повертає довжину рядка s;

  3. Інвертує рядок.


11. Призначення бібліотечної функції полів строкового типу strcpy(s1,s2)

  1. Копіює рядок s2 в s1 ;

  2. Повертає довжину рядка s;

  3. Інвертує рядок.


12. Операція створення динамічних полів

  1. new ;

  2. delete;

  3. close.


13. Операція звільнення динамічної пам’яті

  1. new ;

  2. delete;

  3. close


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

  1. new ;

  2. delete;

  3. operator


15. При визначенні класу члени класу з ключовим словом private доступні:

    1. Любій функції програми;

    2. У випадку , якщо Вам відомий пароль;

    3. Методам цього класу.


16. Обмежений доступ:

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

      2. приховання окремих елементів реалізації абстракції;

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


17. Спадкування:

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

  2. приховання окремих елементів реалізації абстракції;

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


18. Конструктор викликається автоматично у момент

  1. Знищення об’єкту ;

  2. Створення (опре ділення) об’єкту ;

  3. Опису класу;


19. Чи буде справедливе твердження – Створення класу нащадка потребує корінних змін у базовому класі?:

  1. так

  2. ні;

  3. всі відповіді невірні;

  4. Всі відповіді вірні..


20. Ім’я конструктора співпадає з ім’ям :

  1. програми;

  2. класу , методом якого він є ;

  3. список параметрів, які передаються


21. Чи істинно твердження, що дружня функція має доступ до схованих даних класу, навіть якщо не є його методом?

  1. істино;

  2. помилково;

  3. відповіді невірні.


22. Клас -

  1. Це структурний тип даних;

  2. Це змінна типу класу;

  3. Це один зі способів структурного програмування.


23. Об'єкт -

  1. Це структурний тип даних;

  2. Це змінна типу класу;

  3. Це один зі способів структурного програмування.


24. Компоненти класу , які об’явлені у секції private:

  1. Внутрішні (недоступні) компоненти класу;

  2. Захищені компоненти класу;

  3. Загальні (доступні) компоненти класу.


25. Компоненти класу , які об’явлені у секції protected:

  1. Внутрішні (недоступні) компоненти класу;

  2. Захищені компоненти класу.

  3. Загальні (доступні) компоненти класу


26. Компоненти класу , які об’явлені у секції public

  1. Внутрішні (недоступні) компоненти класу;

  2. Захищені компоненти класу.

  3. Загальні (доступні) компоненти класу


27. Яке ключове слово вказує на те, що об’єкт чи змінну неможна змінювати після того, як їм задали початкове значення:

  1. const;

  2. friend;

  3. private.


28. Функції-елементи об’єкту підтримують покажчик на об’єкт, який має назву:

  1. const;

  2. this;

  3. new.


29. Що потрібно зробити , щоб викликати функцію?

  1. Вказати її ім'я ;

  2. Передати їй набір аргументів відповідно вказаним у її заголовку;

  3. Вказати місце, куди повернути результат виконання функції.


30. Які елементи даних мають одну копію для всіх об’єктів класу?:

  1. динамічні;

  2. дружні;

  3. статичні.


31. Що називається перевантаженням функції

  1. використання декількох функцій з одним і тім же ім'ям , але з різними типами параметрів;

  2. функція, яка використовується для запису ідентичних дій над даними різних типів;

  3. Функція , яка викликає саму собі;

  4. дві або більше функцій викликають одна одну.


32. Методи класу можуть описуватись

  1. У середині опису класу;

  2. Поза опису класу;

  3. Всі відповіді невірні.


33. Що називається шаблоном функції

  1. використання декількох функцій з одним і тім же ім'ям , але з різними типами параметрів;

  2. функція, яка використовується для запису ідентичних дій над даними різних типів;

  3. Функція , яка викликає саму собі;

  4. дві або більше функцій викликають одна одну.


34. Описувач видимості функції

  1. ::

  2. :

  3. ;


35. Для опису класу використовується ключове слово

  1. rename ;

  2. class ;

  3. program;


36. Чи може опис класу й робоча програма розміщуватися в різних файлах?

  1. Так

  2. Ні

  3. Всі відповіді невірні.


37. Функція , яка не є елементом класу, яка повинна мати доступ до закритих елементів класу, повинна бути об’явленою як

  1. class;

  2. friend;

  3. this;


38. Коли проходити ініціалізація полів об'єктів ?

  1. При об'явленні полів класу;

  2. Після об'явлення об'єкта , під час виконання програми.

  3. Всі відповіді невірні.


39. Коли виділяється пам'ять для об'єкта ?

  1. У момент опису поля.

  2. У момент об'явлення об'єкту;

  3. Всі відповіді невірні.


40. Абстрактний клас. Його особливості.

(Створення об’єктів абстрактного класу заборонено.Цей клас може використовуватись тільки як базовий для створення інших класів.)

ІІ рівень


41. Поясніть чому об’яву класу бажано розміщувати у заголовному файлі, а його реалізацію - у файлі з розширенням .срр?
42.Який клас називається абстрактним?
43. Формат файлу оголошення класу.
44. Для чого потрібні константні об’єкти та методи?
45. Який клас називається класом – композицією?
46. Дайте класифікацію динамічних структур даних.
47. Особливості однозв’язного лінійного списку динамічних даних.
48. Призначення статичних полів класів.

(Задовольняє наступні властивості:

Пам'ять для полів виділяється один раз і є загальною для всіх об’єктів класу;

Пам'ять виділяється незалежно від того, будуть чи ні створюватися екземпляри даного класу.

Статичні полямають область дії клас)
49. Чи можуть статичні методи викликатися якщо об’єкт класу ще не об’явлений?

(статичні поля та методи можуть викликатися незалежно від того, є чи ні об’єкти цього класу)
50. Призначення перевантаження операцій.

(Створення методів для застосування операцій С++ до нестандартних типів(класів))
51. Базові положення, на яких ґрунтується перевантаження операцій у С++.

(1. не дозволяється створювати нові операції

2. Не всі операції можна перевантажувати

3. Перевантаження операцій не змінює їхнього пріоритету

4. кість операндів

5.Не можна змінити зміст операцій

6. Операції можна перевантажувати тільки явно)
52. Відмінність унарної операції від бінарної.

(унарна має один аргумент, а бінарна два).
53. Абстрактна віртуальна функція. Формат об’явлення. Особливості використання.

(Абстрактно виртуальной называется функция, объявленная в базовом классе как виртуальная, но не имеющая описания. Формат :

Virtual <тип><имя_функции>(<список параметров>)=0

Здесь «=0» - признак абстрактно виртуальной функции. При этом производный класс должен определить свою собственную версию функции, т.к. просто использовать версию, определенную в базовом классе нельзя.)
54. У чому особливість статичних членів класу?
55. Дайте пояснення поняттю «друзі класу». Сформуйте правила відносно друзів.
56. Загальні риси та різниця класів батьків та нащадків.
57. Особливості опису Конструктора .

(ім'я збігається з ім'ям класу ,

Ніколи Не повертає значення

Може Не мати параметрів

Клас може мати трохи конструктора

Визначає операції, які необхідно виконати при створенні об'єкта.)
58. Який клас називається базовим?
59. Призначення класів контейнерів.
60. Який клас називається нащадком?
61. Особливості конструктора по замовченню.
62. Які особливості одиночного спадкування?
63. Параметричне перевантаження функції. Її особливість.

.(Вібор функціі определяется типом аргументов)
64.Які особливості множинного спадкування?
65. Чи може унаслідуватись конструктор?
66. Дайте визначення поняттю поліформізм.
67. Перелічите основні форми поліформізму в С++.
68. Призначення та формат об’явлення статичних компонентів .static.

(загальні данні для декількох об'єктів Є компонентами класу, але не включаються в обэкти цього класу.)
69. У чому смисл віртуальних функцій?

(Виртуальными называются функции, которые об’являються с использованием ключового слова virtual в базовом классе и переопределяются в одно мили нескольких производных классах. При этом прототипы функций в разных классах должны совпадать не только по именам, но также по типу возвращаемого результата и сигнатуре, хотя алгоритмы, реализуемые такимифункциями, как правило, отличаются между собой. При использовании виртуальных функций нужный аспект полиморфной функции, вызываемой из метода базового класса, определяется на етапе выполнения, когда известно, для какогообъекта вызван метод: объекта базового класса или объекта производного.)
70. Особливості статичних компонентних функцій.

(звертаються до статичних полів без утворення об'єктів даного класу.

Звертається до нестатичного поля <ім'я об'єкта> . < ім'я нестатичного поля класу >)
71. Які достоїнства та недоліки раннього зв’язування ?

(достоїнство- высокоебыстродействиеж

недостаток – снижается их гибкость)
72. Призначення неявного параметра this

(покажчик на об'єкт при звернені об'єкта до функції.. Він показує на тієї об'єкт, для якого функція викликалась. Цей параметр використовується для доступу до полів конкретного об'єкта )
73. Коли виділяється пам'ять для об'єкта?

(при об'явленні об’єкту)
74. Які достоїнства та недоліки пізнього зв’язування ?

(Достоїнством позднего связывания является высокая гибкость выполняемой програмыж

Недостатком- относительное низкое быстродействие программы)
75. Коли і як проводитися ініціалізація об'єктів ?

(ініціалізація проводитися після об'явлення об'єктів.

Значення може заноситися в поле об'єкта коли виконується програма декількома способами:

Безпосередньо присвоюванням значення полю объекта;

Усередині будь-якої компонентної функції використовуваного класу;

Відповідно до загальних правил С++ з використанням оператора ініціалізації)
76. Формат команди об'явлення об'єктів класу. Привести приклад команди.

(<ім'я класу>.<список об'єктів чи покажчиків на об'єкт >

Strin a, *b, c[6];)
77, Формат команди звернення до полів та функцій об'єктів. Привести приклад.

(<ім'я об'єкта > . <ім'я класу >::< ім'я чи поля функції > a.Strin::str;

<ім'я об'єкта >.<ім'я чи поля функції > a.str )
78. Особливості вбудованої функції.

(тіло компонентної функції розміщене в описанні класу;

Компілятор розміщує машинні коди , які реалізують цю функцію, безпосередньо в місці виклику, це прискорює роботові)
79. Призначення секцій класу private, protected, publsc.
80. Для чого використовуються шаблони?

ІІІ рівень


81. Об’явити абстрактний клас BOOK. Клас повинен містити поля та методи:

  • Прізвище автора;

  • Назва книги;

  • рік видання;

  • конструктор;

  • метод для друку.


82. Об’явити абстрактний клас Automobile. Клас повинен містити поля та методи:

Найменування фірми-виробника;

  • Марка автомобіля;

  • рік випуску;

  • конструктор;

  • метод для друку.


83. Об’явити клас композицію «Картина»(Picture ). Клас повинен містити поля і методи:

  • Назва

  • Автор;

  • Дата

  • конструктор;

  • метод для друку.

До складу цього класу повинний входити один елемент іншого класу.
84. Розробіть клас Person (поля-члени: ім’я, вік, телефон) з функціями членами для зміни полів та друку. Створіть два об’єкти цього класу.
85. Нехай базовий клас містить метод basefunc() , а клас нащадок не містить метода з таким іменем. Чи може об’єкт класу нащадка мати доступ до методу basefunc() ?

(Так(якщо basefunc() не скрита)
86. Розробіть абстрактний клас Держава (поля-члени: назва, дата об’яви незалежності) з функціями членами для зміни і друку полів.
87. Розробіть клас Фірма (поля-члени: назва, прізвище директора, дата заснування) з функціями членами для зміни і друку полів.Створіть два об’єкти цього класу.
88. Оголосіть клас «Підприємство» і визначте його методи. Клас повинен містити наступні поля та методи:

Найменування (не більше 30 символів);

Форма власності (не більше 25 символів);

Рік заснування;

Конструктор зі значеннями полів за замовчуванням;

метод для установки значень полів;

метод для виводу значень на екран.

Програма повинна створювати два об'єкти цього класу.
89. Розробіть клас «Населений пункт» (поля-члени: назва, кількість мешканців) з функціями членами для зміни і друку полів. Створити два об’єкти цього класу.
90. Оголосіть клас «Автомобіль»(Automobile) і визначте його методи. Клас винний містити наступні поля та методи:

Найменування фірми - виробника (не більше 30 символів);

Марка автомобіля (не більше 25 символів);

Колір автомобіля (не більше 15 символів);

Рік випуску;

Конструктор зі значеннями полів за замовчуванням;

метод для установки значень полів;

метод для виводу значень на екран.

Програма винна створювати два об'єкти цього класу.
91. Нехай клас Dery є нащадком класу Base . Обидва класи містять метод func() без аргументів. Написати вираз, який входить у метод класу Dery , який викликає метод func() базового класу.

Base::func()
92. Що таке дружні функції і дружні класи? Як записуються дружні функції? Де і коли вони використовуються?

(Дружественно функцией класса называется функция, которая, не является компонентом некоторого класса, имеет доступ ко всем его компонентам. Для получения прав друга функция должна быть описана в теле класса со спецификатором friend . Если необходимо, чтобы все функции некоторого класса имели доступ к внутренним полям другого класса, то весь класс млжет быть объявлен дружестаенным:

(friend class < ім’я класу>)
93 Назвіть види поліморфізму у С++. Визначить поняття віртуальних та абстрактних функцій. Що таке абстрактний клас? Назвіть особливості використання абстрактного класу.
94. Найдіть помилку(або помилки) та поясніть , як їх виправити.

Наступний фрагмент є частиною визначення класу Time .

classTime{

public;

private:

int hour = 0;

int minut = 0;

int second = 0;

};
95. Оголосіть абстрактний клас «Товар»(Commodity) і визначте його методи. Клас повинний містити наступні поля та методи:

Найменування товару - виробника (не більше 30 символів);

Дату створення ;

Конструктор зі значеннями полів за замовчуванням;

метод для установки значень полів;

метод для виводу значень на екран.
96. Оголосіть клас - композицію «Товар»(Commodity) і визначте його методи. Клас повинний містити наступні поля та методи:

Найменування товару - виробника (не більше 30 символів);

Дату створення ;

Конструктор зі значеннями полів за замовчуванням;

метод для установки значень полів;

метод для виводу значень на екран.

До складу цього класу повинний входити один елемент іншого класу

Програма винна створювати два об'єкти цього класу.
97. Оголосіть клас «Товар»(Commodity) і визначте його методи. Клас винний містити наступні поля та методи:

Найменування товару - виробника (не більше 30 символів);

Кількість ;

Конструктор зі значеннями полів за замовчуванням;

метод для установки значень полів;

метод для виводу значень на екран.

Програма винна створювати два об'єкти цього класу.
98. Оголосіть клас «Футбольний клуб»(FC) і визначте його методи. Клас винний містити наступні поля та методи:

Назва клубу (не більше 30 символів);

Кількість набраних очок;

Конструктор зі значеннями полів за замовчуванням;

метод для установки значень полів;

метод для виводу значень на екран.

Програма винна створювати два об'єкти цього класу.
99. Оголосіть клас «Учасник» і визначте його методи. Клас повинен містити наступні поля та методи:

Прізвище (не більше 30 символів);

телефон;

Конструктор;

метод для виводу значень на екран.

Оголосити клас «Переможець» , який є нащадком класу «Учасник» . У новому класі додаткове цілочислене поле номер зайнятого місця«number». У новому класі повинен бути конструктор та метод виводу на дисплей значень полів об’єктів Об’явити об’єкт класу «Товар».

Програма повинна створювати по одному об’єкту для кожного класу..
100. Оголосіть клас «Іграшка» і визначте його методи. Клас винний містити наступні поля та методи:

Назва (не більше 30 символів);

Ціна;

Конструктор;

метод для виводу значень на екран.

Програма повинна створювати один об'єкт цього класу.

Оголосити клас «Товар» , який є нащадком класу «Іграшка» . У новому класі додаткове цілочислене поле штрих-код «shtr_kod». У новому класі повинен бути конструктор та метод виводу на дисплей значень полів об’єктів Об’явити об’єкт класу «Товар».