-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcpp_homework_44.txt
47 lines (32 loc) · 5.21 KB
/
cpp_homework_44.txt
1
2
3
4
5
6
7
8
9
10
11
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
38
39
40
41
42
43
44
45
46
47
1. Парадигма ООП (своими словами)
Подход к программированию, основанный на использовании объектов, которые взаимодействуют друг с другом.
2. Киты ООП
Принципы объектно-ориентированного программирования - инкапсуляция, наследование и полиморфизм.
3. Инкапсуляция(зачем? проблема - решение).
Сокрытие данных и методов работы с ними внутри объекта. Проблема: неправомерный доступ к данным. Решение: ограничение доступа через методы (геттеры и сеттеры).
4. Как проявляется абстрагирование в инкапсуляции ? (зачем)
Создание интерфейсов для взаимодействия с объектами, скрывая детали реализации. Зачем: упрощение использования объектов и концентрация на их функциональности.
5. Конструктор - это ...
Специальный метод класса, вызываемый при создании объекта для его инициализации.
6. Деструктор - это ...
Специальный метод класса, вызываемый при уничтожении объекта для освобождения ресурсов.
7. Зачем перегружать конструкторы ?
Для удобства создания объектов с разными начальными значениями.
8. Методы пустого класса
Методы, определенные в классе без полей или с пустым телом. Они могут быть использованы для выполнения определенных действий, но не требуют состояния объекта.
9. что такое переопределение?
Изменение реализации метода в классе-наследнике с тем же именем и сигнатурой, что и в базовом классе.
10. Побитовое копированиие(в каких случаях возникает побитовое копирование?)
При копировании простых типов данных или структур.
11. конструктор копирования (зачем)
Специальный конструктор, создающий новый объект на основе существующего объекта того же класса. Зачем: для создания копии объекта с идентичными значениями.
12. В каких случаях мы должны явно переопределить конструктор копирования ?
Если класс содержит динамические ресурсы (например, указатели), необходимо явно определить конструктор копирования для глубокого копирования этих ресурсов.
13. Что такое делегирование?
Передача выполнения метода одному объекту от другого объекта, чтобы распределить функциональность и уменьшить зависимости.
14. Инициализаторы - зачем ?
Специальные конструкции, позволяющие инициализировать члены класса при создании объекта или при объявлении переменной. Они позволяют задать начальные значения для полей класса или вызвать конструкторы базовых классов и членов класса с определенными аргументами.
16. Указатель this(проблема решение).
Указатель на текущий объект, используется внутри класса для доступа к его членам. Проблема: неоднозначность имени переменной класса и параметра метода. Решение: использование указателя this для разрешения конфликта и доступа к членам класса.
17. Системы контроля версии. Типы. Отличие
Инструменты, позволяющие отслеживать изменения в исходном коде и управлять версиями проекта. Типы: централизованные (например, SVN) и распределенные (например, Git). Отличие: централизованные требуют подключения к серверу для работы, распределенные позволяют работать независимо и сливать изменения.