ДВГТУ, ООП, Травень 2004 p>
Питання на іспит з навчальноїдисципліни p>
"Об'єктно-орієнтоване програмування" p>
I. Загальні питання програмування p>
1. Розвиток мов програмування. Мови програмування C і C ++. p>
2. Процедурне програмування. Основні ідеї структурного програмування. P>
3. Базові конструкції структурного програмування, їх реалізація в Сі. P>
4. Цикли. Оператор розгалуження. Вибір. P>
5. Функція, модуль, заголовки, проект. P>
6. Функція: передача параметрів і повернення значень при виклику. Прототип функції. P>
7. Передача параметрів у функцію за значенням і за посиланням. P>
8. Масиви. Строки. Динамічне виділення пам'яті під масив. P>
9. Конструювання складних типів даних. Структури в С.
10. Поняття покажчика. Робота з вказівниками. P>
Управління пам'яттю. Динамічне виділення пам'яті. Витік пам'яті. P>
"Збирання сміття".
11. Перетворення програми на С/С + + із вихідного тексту у виконуваний модуль. P>
Об'єктний модуль. Складання завантажувального модуля.
12. Заголовки. Препроцесор С/С + +.
13. Препроцесор С, директиви # include, # define, # ifdef, # endif
14. Проектування програми, схема ієрархії модулів. Структура складних програм. P>
II. Основи об'єктно-орієнтованого програмування
15. Основна ідея ООП. Класи та об'єкти. Розділи класу. Інтерфейс класу.
16. Перехід до ООП як етап розвитку технології розробки ПП.
17. Основні поняття ООП. Клас і об'єкт.
18. Принципи ООП. Інкапсуляція. Спадкування. Поліморфізм.
19. Конструювання класів. Контроль доступу до елементів класу, розділи класу private і public. Класи і функції - члени класу.
20. Конструктори і деструктори.
21. Види об'єктів в пам'яті і час їхнього життя, статичні члени класу.
22. Покажчик this, модифікатор inline.
23. Спадкування: конструювання нового класу на базі існуючого класу; розділ класу protected; побудова ієрархії класів.
24. Режими доступу: зовнішнє, захищене і внутрішнє успадкування.
25. Множинне успадкування.
26. Віртуальні методи.
27. Чисті віртуальні методи і абстрактні класи.
28. Перевизначення операцій для класів. Приклад.
29. "Друзі" класу (friend), перевизначення операцій введення/виводу. P>
III. Практика програмування.
30. Стиль програмування: правила складання імен, коментування, відступи.
31. Вміст заголовки у Вашому проекті.
32. Аналіз заголовків файлів стандартних бібліотек, наприклад,.
33. Прототипи функцій, призначення, використання в проекті.
34. Розбиття програми на модулі, призначення заголовків файлів.
35. Конструювання класів на базі структур даних і функцій обробки.
36. Опис класу та оголошення об'єкта, виклик методів об'єкта.
37. Приклад успадкування класів. Приклад множинного спадкоємства.
38. Керування проектами в інтегрованому середовищі, розбиття проекту на модулі і склад модулів; контроль розміщення вихідних файлів, призначення директорій.
39. Типи файлів, що створюються системою програмування у проекті. P>
Забезпечення збереження файлів проекту, резервне копіювання.
40. Використання відладчика для локалізації помилки в програмі. P>
IV. Введення-виведення в С/С + +.
41. Поняття потоку і файлу. Буферізованние і небуферізованний введення/виведення.
42. Імена стандартних потоків в С і С + +, їх призначення. Оголошення потоків, зв'язування їх з файлами, закриття потоків.
43. Введення-виведення в С + +. Перевизначення операцій введення/виводу. P>
p>