- •Вопрос 1. Ссылки и ссылочные параметры.
- •Вопрос 2. Перегрузка функций.
- •Вопрос 3. Шаблоны функций.
- •Вопрос 4. Использование const с указателями.
- •Вопрос 5. Область действия класса. Управление доступом к членам класса. Отделение интерфейса от реализации.
- •Вопрос 6. Понятие конструктора .Использование констр-ра с аргументами по умолчанию. Конструктор по умолчанию.
- •Вопрос 7. Понятие деструктора. Когда вызывается конструктор и деструктор.
- •Вопрос 8. Константные объекты и функции-члены.
- •Вопрос 9. Дружественные функции и друж. Классы.
- •Вопрос 10. Указатель this.
- •Вопрос 11. Операции new и delete.
- •Вопрос 12. Статические члены класса.
- •Вопрос 13. Понятие перегрузки операций.
- •Вопрос 14. Функции-операции как члены класса и как друж-е функции
- •Вопрос 15. Перегрузка операций ввода/вывода в поток, бинар и унар операций.
- •Вопрос 17. Перегрузка операций индексации массива.
- •Вопрос 18. Понятие наследования. Механизм ограничения доступа при наследовании.
- •Вопрос 19. Приведение типа указателя базового класса к указателю производного класса и наоборот.
- •Вопрос 21. Конструкторы и деструкторы в производных классах.
- •Вопрос 22. Неявное преобразование объектов производных классов в объекты базового класса.
- •Вопрос 23. Иерархия классов. Уровни наследования.
- •Вопрос 24. Множественное наследование.
- •Вопрос 25. Неопределённость при множ-м наследовании. Включение «классы в классах».
- •Вопрос 26. Понятие виртуальной функции.
- •Вопрос 27. Понятие полиморфизма.
- •Вопрос 28. Абстрактные и конкретные базовые классы.
- •Вопрос 29. Статическое и динамическое связывание.
- •Вопрос 30. Виртуальные деструкторы.
- •Вопрос 31. Шаблоны классов.
- •Вопрос 32. Шаблоны классов и пользовательские типы
- •Вопрос 33. Шаблоны и наследование.
- •Вопрос 34. Классы и объекты потоков ввода/вывода. Иерархия потоковых классов.
- •Вопрос 35, 38. Предопределённые потоковые объекты. Состояние ошибок потока.
- •Вопрос 36. Манипуляторы потоков.
- •Вопрос 37. Неформатированный ввод/вывод с помощью read/ write
- •Вопрос 38. Состояние ошибок ввода/вывода
- •Вопрос 39. Понятие исключения. Когда должна использоваться обработка исключений.
- •Вопрос 40. Генерация исключений. Повторная генерация исключений.
- •Вопрос 41. Перехват исключений.
- •Вопрос 42. Спецификация исключений. Обработка неожиданных исключений.
- •Вопрос 43. «Раскручивание» стека. Иерархия исключений стандартной библиотеки.
- •Вопрос 44. Конструкторы, деструкторы и исключения. Исключения и наследование.
- •Вопрос 45. Обработка неуспешного выполнения new.
- •Вопрос 46. Класс auto_ptr и динамич выделение памяти.
- •Вопрос 47. Static_cast, reinterpret_cast
- •Вопрос 48. Инфо о типе времени выполнения. Оператор dynamic_cast
- •Вопрос 49. Ключевое слово explicit.
- •Вопрос 50. Ключевое слово mutable.
- •Вопрос 51. Указатели на члены класса.
- •Вопрос 52. Множественное наследование. Виртуальные базовые классы.
- •Вопрос 53. Классы-контейнеры и классы-итераторы.
- •Вопрос 54. Понятие ооп. Три условия ооп-программы. Парадигмы ооп.
- •Вопрос 55.Основные составляющие объектного подхода: абстрагирование, инкапсуляция, модульность.
- •Вопрос 56. Основные составляющие объектного подхода: иерархия, типизация, полиморфизм.
- •Вопрос 57. Природа объекта. Состояние, поведение, идентичность объекта.
- •Вопрос 58. Отношения между объектами. Связи. Агрегация.
- •Вопрос 59. Природа классов. Отношения между классами. Типы отношений.
Вопрос 58. Отношения между объектами. Связи. Агрегация.
Отношения м/у 2-я объектами основаны на предположении, кот один ожидает от другого, а именно операции, которые можно выполнять
Типы отношений м/у объектами:
связи – отношения старшинства
агрегация – потомственные отношения
Связь – физические или концептуальные соединения между объектами
Связь - это специфическое сопоставление, ч/з к-ое клиент запрашивает услугу у объекта-сервера или ч/з к-ое один объект находит путь к другому.
актёр– О воздействует на другие О, но сам не подвергается их воздействию
сервер – О только подвергаться воздействию др. О, но сам не выступает в роли воздействующего
агент – О совмещает функции актёра и сервера
Агрегация- описывает отношения целого и части, приводящие к соответствующей иерархии объектов, причем, идя от целого (агрегата), мы можем придти к его частям (атрибутам). В этом смысле агрегация - специализированный частный случай ассоциации.
Агрегация может означать физическое вхождение одного объекта в другой, но не обязательно. Агрегация позволяет скрыть части в целом.
Вопрос 59. Природа классов. Отношения между классами. Типы отношений.
Класс – некоторая группа, вид или множество объектов, имеющих общую структуру, cв-ва и поведение, различающиеся по кач-ву, возм-тям. Любой конкретный объект является экземпляром класса.
Интерфейс класса– определяет операции, к-ые могут отн-ся к одному из 3-х типов
public – открытый, видимый для всех клиентов
protected – закрытый, виден классу-наследнику и друзьям
private – закрытый, видимый классу и друзьям
Отношения между классами:
наследование (является) – is a
агрегация (один объект является частью другого) - part of
ассоциации ассоциация – смысловая связь м/у классами
наследование – отношение м/у классами, когда один класс повторяет структуру и поведение другого класса (одиночное наследование) или других классов (множественное наследование)
Мощность ассоциации (кол во участников)
Один ко многим
Многие ко многим
1) Ссылки и ссылочные параметры.
2) Перегрузка функций.
3) Шаблоны функций.
4) Использование спецификатора const с указателями.
5) Область действия класса. Управление доступом к членам класса. Отделение интерфейса от реализации.
6) Понятие конструктора. Использование конструктора с аргументами по умолчанию. Конструктор по умолчанию.
7) Понятие деструктора. Когда вызываются конструкторы и деструкторы.
8) Константные объекты и функции-члены.
9) Дружественные функции и дружественные классы.
10) Использование указателя this.
11) Операции new и delete.
12) Статические члены класса.
13) Понятие перегрузки операций.
14) Функции-операции как члены класса и как дружественные функции.
15) Перегрузка операций ввода-вывода в поток, бинарных и унарных операций.
16) Перегрузка ++ и -.
17) Перегрузка операций индексации массива.
18) Понятие наследования. Механизм ограничения доступа при наследовании.
19) Приведение типа указателя базового класса к указателю производного класса и наоборот.
20) Переопределение членов базового класса в производном классе.
21) Конструкторы и деструкторы в производных классах.
22) Неявное преобразование объектов производных классов в объекты базового класса.
23) Иерархия классов. Уровни наследования.
24) Множественное наследование.
25) Неопределенность при множественном наследовании. Включение: классы в классах.
26) Понятие виртуальной функции.
27) Понятие полиморфизма (примеры).
28) Абстрактные и конкретные базовые классы.
29) Статическое и динамическое связывание.
30) Виртуальные деструкторы.
31) Шаблоны классов.
32) Шаблоны классов и пользовательские типы.
33) Шаблоны классов и наследование.
34) Классы и объекты потоков ввода/вывода. Иерархия потоковых классов.
35) Предопределенные потоковые объекты. Состояния ошибок потока.
36) Манипуляторы потоков.
37) Неформатированный ввод-вывод с использованием read, write.
38) Состояния ошибок потока.
39) Понятие исключения. Когда должна использоваться обработка исключений.
40) Генерация исключений. Повторная генерация исключений.
41) Перехватывание исключений.
42) Спецификация исключений. Обработка неожидаемых исключений.
43) «Раскручивание» стека. Иерархия исключений стандартной библиотеки.
44) Конструкторы, деструкторы и обработка исключений. Исключения и наследование.
45) Обработка неуспешного выполнения new.
46) Класс auto__ptr и динамическое выделение памяти.
47) Файловый ввод/вывод объектов. Использование функции typeid().
48) Операторы приведения типов staticcast, reinterpret cast.
49) Информация о типе времени выполнения (RTT1). Оператор dynamiccast.
50) Ключевое слово explicit.
51) Ключевое слово mutable.
52) Указатели на члены класса.
53) Множественное наследование и виртуальные базовые классы.
54) Классы-контейнеры и классы-итераторы.
55) Понятие ООП. Три условия ООП-программы. Парадигмы ООП (инкапсуляция, наследование, полиморфизм).
56) Основные составляющие объектного подхода: абстрагирование, инкапсуляция, модульность.
57) Основные составляющие объектного подхода: иерархия, типизация, полиморфизм.
58) Природа объекта. Состояние, поведение, идентичность объекта.
59) Отношения между объектами. Связи. Агрегация.
60) Природа классов. Отношения между классами. Типы отношени