Перегрузка функций и операций. Перегрузка бинарных операций.



Базовые алгоритмические конструкции.

Операторы. Оператор выражение. Пустой оператор. Составной оператор.

Операторы ветвления. Оператор if. Оператор switch.

Операторы цикла. Оператор for. Оператор while. Оператор do while.

Операторы передачи управления. Оператор continue. Оператор break. Оператор return. Оператор goto.

Указатели и ссылки.

Указатели и адресная арифметика. Инициализация указателей. Операции над указателями. Пустой указатель (NULL-указатель). Ошибки при работе с указателями. Ссылки.

Массивы и строки.

Массивы. Одномерные массивы. Многомерные массивы. Методы доступа к элементам массивов. Указатели на много мерные массивы. Массивы указателей. Динамические массивы. Строки.

Типы данных, определяемые пользователем.

Переименование типов. Перечисления. Структуры. Битовые поля. Объединения.

Модульное программирование. Функции.

Структура программы. Функции. Объявление и определение функций. Разбиение программы на отдельные модули. Инициализация глобальных и локальных переменных и возвращаемое значение. Области действия идентификаторов.

Рекурсивные функции.

Параметры функции. Передача массивов в качестве параметров. Передача имен функций в качестве параметров. Параметры со значением по умолчанию. Функции с переменным числом параметров. Перегрузка функций. Шаблоны функций. Передача параметров функции main( ).

Основные функции библиотеки С. Директивы препроцессора.

Основные функции стандартной библиотеки C. Работа с файлами. Функции ввода/вывода. Работа со строками и символами. Математические функции.

Директивы препроцессора. Директива #include. Директива #define. Директива #undef. Директивы условной компиляции.

8. Динамические структуры данных. Линейные списки

Организация списков и их обработка. Линейные списки. Методы организации и хранения линейных списков. Линейный список как массив данных. Операции со списками при последовательном хранении (односвязные списки). Организация двусвязных списков. Организация циклических связей в списках. Операции со списками.

9. Динамические структуры данных. Стеки, очереди

Последовательности, стеки и очереди. Последовательности, стеки и очереди как массивы данных. Операции с ними.

10. Динамические структуры данных. Бинарные деревья

Деревья. Обход дерева. Сравнение деревьев со списками и массивами. Определение глубины дерева. Поиск в дереве. Обход дерева.

Двоичные деревья. Поиск и включение в двоичные деревья. Нумерация вершин в двоичном дереве.

Основные характеристики ООП, классы, объекты.

Основания и история объектно-ориентированного подхода к программированию. Основные принципы и этапы объектно-ориентированного программирования Ключевые понятия ООП.

Особенности языка программирования С++. Локальные и глобальные переменные. Выделение динамической памяти. Ссылки. Понятие инкапсуляции. Описание объектов при помощи class, struct, union. Атрибуты доступа. Функции-члены и данные-члены. Статические переменные внутри класса. Указатель this. Инициализация объектов. Синтаксическая структура определения класса. Члены-данные и члены-функции.

Инкапсуляция данных и методов в классах языка С++.

Способы задание класса в программе. Проект класса: назначение и использование.

Конструкторы и деструкторы.

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

Деструктор как средство разрушения и уничтожения объекта: основные свойства.

Деструктор, создаваемый компилятором по умолчанию: семантика и способ доступа.

Явное задание деструктора. Программирование тела: использование членов-данных и членов функций класса.

Дружественные функции и классы.

Дружественные функции и классы. Понятие, объявление и назначение дружественных функций и классов.

Перегрузка функций и операций. Перегрузка бинарных операций.

Перегрузка функций. Использование аргументов по умолчанию. Встраиваемые (Inline) функции.

Перегрузка бинарных операций. Перегрузка операции присваивания. Перегрузка логических операций и операций отношения. Перегрузка операции индексирования


Дата добавления: 2019-07-15; просмотров: 129; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!