exam Flashcards

1
Q

Что такое объект?

A

Объект — это экземпляр класса, или его копия, которая находится в памяти компьютера. Например, когда вы создаёте переменную типа String и присваиваете ей значение «Строка», то в памяти создаётся экземпляр класса String. обладающий своими свойствами и методами

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Определение системы и три примера систем

A

это совокупность взаимосвязанных элементов, образующих определенное единство. компьютерная, телекоммуникационная, автомобильная

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

жизненый цикл объекта

A

включает в себя создание, использование, уничтожение и повторное использование объекта. создаются при помощи new(выделяет блок динамической памяти) и удаляется при помощи delete(сначала деструктор, потом возвращает память)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

взаимодействие объектов, три примера

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Класс. Назначение и синтаксис описания

A

это шаблон или описание, определяющие структуру и поведение объектов данного класса. Синтаксис объявления класса похож на описания структуры:
class<имя_класса>
{ закрытые элементы класса
private:
<защищенные объекты класса}
public:</имя_класса>

<открытые>
}
<список_объектов>
</список_объектов></открытые>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Жизненный цикл виртуального объекта и его реализация на языке С++.

A

Жизненный цикл виртуального объекта включает создание, инициализацию, использование и уничтожение объекта. Реализация на языке C++ включает создание класса с виртуальными методами и использование наследования.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Архитектура системы. Иерархия объектов.

A

Архитектура системы - это общая структура и организация элементов и связей объектов в системе. Иерархия объектов отображает отношения между классами и объектами в системе.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Программа – система.

A

Программа - система - это программа, состоящая из взаимосвязанных объектов, работающих вместе для достижения определенной цели.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Наследование. Реализация наследования на языке С++

A

Наследование - это механизм объектно-ориентированного программирования, который позволяет создавать новые классы на основе существующих классов. Реализация наследования в C++ происходит с помощью ключевого слова “class” и указания базового класса.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Управление доступом при наследовании.

A

Управление доступом при наследовании в C++ осуществляется с помощью модификаторов доступа: public, private, protected. Public позволяет доступ извне, private - только внутри класса, protected - доступ из производных классов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Инкапсуляция

A

Инкапсуляция - один из принципов объектно-ориентированного программирования, который заключается в объединении данных и методов работы с ними в одном классе, и скрытии от других классов деталей реализации

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Полиморфизм

A

Полиморфизм - возможность объектов классов-наследников использовать методы родительского класса, при этом каждый наследник может переопределять эти методы по-своему.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Управление доступом к элементам класса.

A

Управление доступом к элементам класса - в языке программирования определяется, кто и каким образом имеет доступ к элементам класса (полям и методам), используя модификаторы доступа: public, private, protected

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Конструктор и деструктор объекта

A

Конструктор и деструктор объекта - специальные методы класса, которые вызываются при создании (конструктор) и уничтожении (деструктор) объекта

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Параметризированные конструктору.

A

конструкторы, которые принимают на вход параметры и инициализируют объект на их основе

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Конструктор копии

A

Конструктор копии - специальный метод класса, который создает копию объекта

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Объявление объекта и доступ к его элементам

A

объявление объекта происходит с помощью ключевого слова new, доступ к его элементам осуществляется через оператор точка

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Указатели и ссылки на объект

A

указатель представляет адрес объекта в памяти, а ссылка представляет собой псевдоним объекта

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Указатель this

A

ключевое слово, которое ссылается на текущий объект при работе внутри его методов

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Присвоение объектов

A

копирование значений одного объекта в другой, создание новой ссылки на объект или увеличение счетчика ссылок

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Объекты в качестве возвращаемого значения функции

A

функция может возвращать объекты как своё значение.

22
Q

Встраиваемая функция

A

функция, которая компилируется прямо в том месте, где она вызвана, без создания отдельного блока кода

23
Q

Дружественная функция

A

функция, объявленная вне класса, но имеющая доступ ко всем членам этого класса.

24
Q

Дружественный класс

A

класс, который имеет доступ ко всем членам другого класса, как если бы он был его другом.

25
Q

Операторы new и delete -

A

операторы в языке программирования C++, используемые для выделения и освобождения памяти во время выполнения программы.

26
Q

Защищенные члены класса -

A

члены класса, к которым могут обращаться только сам класс и его производные классы

27
Q

Множественное наследование -

A

возможность для класса наследовать от нескольких родительских классов.

28
Q

Виртуальные базовые классы -

A

базовый класс, от которого наследуют другие классы, но он может быть виртуальным при наследовании.

29
Q

Указатель на объект производного класса

A
  • указатель, который указывает на объект производного класса, но может быть использован для работы с базовым классом.
30
Q

Виртуальные методы. Наследование виртуальных методов -

A

виртуальный метод позволяет переопределить его в производном классе, а наследование виртуальных методов позволяет классам наследникам использовать методы родительского класса.

31
Q

Чисто виртуальные функции -

A

это функции в абстрактном классе, которые не имеют определения в самом классе, а только объявление. Абстрактный класс является классом, который содержит хотя бы одну чисто виртуальную функцию и не может быть инстанциирован.

32
Q

Перегрузка функций -

A

это возможность создавать функции с одинаковым именем, но с разными параметрами.

33
Q

Перегрузка унарных операторов -

A

это возможность определения поведения унарного оператора (+, -, ++, – и т.д.) для пользовательских типов данных.

34
Q

Перегрузка бинарных операторов -

A

это возможность определения поведения бинарного оператора (+, -, *, / и т.д.) для пользовательских типов данных.

35
Q

Перегрузка оператора индексации массивов [ ]

A
  • позволяет определить доступ к элементам объекта как к элементам массива.
36
Q

Аргументы, передаваемые функции по умолчанию

A
  • это значения, которые будут использованы, если при вызове функции данные аргументы не будут переданы.
37
Q

Определение адреса перегруженной функции -

A

адрес функции можно взять с помощью указателя на функцию, используя имя функции без круглых скобок.

38
Q

Класс vector -

A

это динамический массив, реализованный в стандартной библиотеке C++, который обеспечивает удобное управление элементами и автоматическое изменение размера при добавлении или удалении элементов.

39
Q

Класс string -

A

это класс в стандартной библиотеке C++, который представляет строку символов и предоставляет удобные методы для работы с ней, такие как конкатенация, поиск подстрок, сравнение и т.д.

40
Q

Класс map и multimap

A

Класс map представляет собой ассоциативный контейнер, который хранит элементы в виде пар ключ-значение, где каждому ключу соответствует определенное значение. Класс multimap подобен map, но позволяет хранить неуникальные ключи.

41
Q

Объявление элементов класса спецификацией static.

A

Объявление элементов класса с ключевым словом static позволяет объявить статические элементы, которые принадлежат классу, а не конкретному экземпляру класса.

42
Q

Объявление элементов класса спецификацией const.

A

Объявление элементов класса с ключевым словом const позволяет объявить константные элементы, которые нельзя изменять после их определения.

43
Q

Шаблон функции

A

Шаблон функции позволяет создать универсальную функцию, которая может принимать и возвращать различные типы данных без необходимости перегрузки функции для каждого типа.

44
Q

Шаблон класса

A

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

45
Q

Контейнеры и итераторы

A

Контейнеры представляют собой структуры данных, которые используются для хранения коллекций объектов. Итераторы используются для доступа и манипуляции элементами контейнера.

46
Q

Контейнер – динамический массив

A

Динамический массив – это контейнер, который может изменять свой размер во время выполнения программы, в отличие от статического массива, размер которого определяется на этапе компиляции

47
Q

Контейнер – ассоциативный список

A

Ассоциативный список – это контейнер, который хранит элементы в виде пар ключ-значение, где доступ к элементам осуществляется по ключу, а не по индексу как в массиве.

48
Q

Исключительные ситуации

A

Исключительные ситуации (исключения) используются для обработки ошибок или нестандартных ситуаций в программе, позволяя более гибко управлять потоком выполнения программы

49
Q

Приведение типов

A

Приведение типов позволяет преобразовывать значение одного типа в значение другого типа данных, например, преобразование целого числа в число с плавающей запятой

50
Q

Сигналы и обработчики

A

Сигналы и обработчики используются для реализации асинхронного программирования в С++, позволяя отправлять сигналы или события и связывать их с соответствующими обработчиками

51
Q

Ввод-вывод в С++

A

Ввод-вывод в С++ осуществляется с помощью потоков, таких как объекты классов istream (для ввода) и ostream (для вывода)

52
Q

Форматированный ввод-вывод данных.

A

Форматированный ввод-вывод данных позволяет задавать определенный формат вывода данных, например, число с определенным количеством знаков после запятой.