exam Flashcards

(52 cards)

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
Операторы new и delete -
операторы в языке программирования C++, используемые для выделения и освобождения памяти во время выполнения программы.
26
Защищенные члены класса -
члены класса, к которым могут обращаться только сам класс и его производные классы
27
Множественное наследование -
возможность для класса наследовать от нескольких родительских классов.
28
Виртуальные базовые классы -
базовый класс, от которого наследуют другие классы, но он может быть виртуальным при наследовании.
29
Указатель на объект производного класса
- указатель, который указывает на объект производного класса, но может быть использован для работы с базовым классом.
30
Виртуальные методы. Наследование виртуальных методов -
виртуальный метод позволяет переопределить его в производном классе, а наследование виртуальных методов позволяет классам наследникам использовать методы родительского класса.
31
Чисто виртуальные функции -
это функции в абстрактном классе, которые не имеют определения в самом классе, а только объявление. Абстрактный класс является классом, который содержит хотя бы одну чисто виртуальную функцию и не может быть инстанциирован.
32
Перегрузка функций -
это возможность создавать функции с одинаковым именем, но с разными параметрами.
33
Перегрузка унарных операторов -
это возможность определения поведения унарного оператора (+, -, ++, -- и т.д.) для пользовательских типов данных.
34
Перегрузка бинарных операторов -
это возможность определения поведения бинарного оператора (+, -, *, / и т.д.) для пользовательских типов данных.
35
Перегрузка оператора индексации массивов [ ]
- позволяет определить доступ к элементам объекта как к элементам массива.
36
Аргументы, передаваемые функции по умолчанию
- это значения, которые будут использованы, если при вызове функции данные аргументы не будут переданы.
37
Определение адреса перегруженной функции -
адрес функции можно взять с помощью указателя на функцию, используя имя функции без круглых скобок.
38
Класс vector -
это динамический массив, реализованный в стандартной библиотеке C++, который обеспечивает удобное управление элементами и автоматическое изменение размера при добавлении или удалении элементов.
39
Класс string -
это класс в стандартной библиотеке C++, который представляет строку символов и предоставляет удобные методы для работы с ней, такие как конкатенация, поиск подстрок, сравнение и т.д.
40
Класс map и multimap
Класс map представляет собой ассоциативный контейнер, который хранит элементы в виде пар ключ-значение, где каждому ключу соответствует определенное значение. Класс multimap подобен map, но позволяет хранить неуникальные ключи.
41
Объявление элементов класса спецификацией static.
Объявление элементов класса с ключевым словом static позволяет объявить статические элементы, которые принадлежат классу, а не конкретному экземпляру класса.
42
Объявление элементов класса спецификацией const.
Объявление элементов класса с ключевым словом const позволяет объявить константные элементы, которые нельзя изменять после их определения.
43
Шаблон функции
Шаблон функции позволяет создать универсальную функцию, которая может принимать и возвращать различные типы данных без необходимости перегрузки функции для каждого типа.
44
Шаблон класса
Шаблон класса позволяет создать универсальный класс, который может работать с различными типами данных без необходимости создания отдельного класса для каждого типа.
45
Контейнеры и итераторы
Контейнеры представляют собой структуры данных, которые используются для хранения коллекций объектов. Итераторы используются для доступа и манипуляции элементами контейнера.
46
Контейнер – динамический массив
Динамический массив – это контейнер, который может изменять свой размер во время выполнения программы, в отличие от статического массива, размер которого определяется на этапе компиляции
47
Контейнер – ассоциативный список
Ассоциативный список – это контейнер, который хранит элементы в виде пар ключ-значение, где доступ к элементам осуществляется по ключу, а не по индексу как в массиве.
48
Исключительные ситуации
Исключительные ситуации (исключения) используются для обработки ошибок или нестандартных ситуаций в программе, позволяя более гибко управлять потоком выполнения программы
49
Приведение типов
Приведение типов позволяет преобразовывать значение одного типа в значение другого типа данных, например, преобразование целого числа в число с плавающей запятой
50
Сигналы и обработчики
Сигналы и обработчики используются для реализации асинхронного программирования в С++, позволяя отправлять сигналы или события и связывать их с соответствующими обработчиками
51
Ввод-вывод в С++
Ввод-вывод в С++ осуществляется с помощью потоков, таких как объекты классов istream (для ввода) и ostream (для вывода)
52
Форматированный ввод-вывод данных.
Форматированный ввод-вывод данных позволяет задавать определенный формат вывода данных, например, число с определенным количеством знаков после запятой.