Содержание пакета (2 курса)
1. Основы объектно-ориентированного программирования на C++
ООП - с места в карьер
9 уроков
1.
ООП - что это? Несколько слов о трёх китах ООП.
↗
2.
Ключевое слово struct. C-style struct. Атрибуты. typedef
↗
3.
Методы. Возврат структуры из функции. Структуры в качестве полей
↗
4.
Class. public & private. Сравнение со struct. Get & Set methods
↗
5.
Конструкторы и деструктор. Default ctor & with parameters
↗
6.
Правило трёх. Ключевое слово this. Copy ctor и operator=
↗
7.
Санитайзеры. Как обнаружить утечки. -fsanitize + практика
↗
8.
Реализация класса Vector (аналог std::vector)
↗
9.
Реализация класса LinkedList (односвязный список)
↗
Эффективное и современное ООП на C++. Советы
6 уроков
1.
Спецификатор const у методов
↗
2.
Спецификатор noexcept у методов
↗
3.
Статичные методы и поля. static members
↗
4.
Идиома RAII - примеры и практика
↗
5.
Списки инициализации в конструкторах
↗
6.
Шаблонные классы. Ключевое слово auto и decltype
↗
39 операторов. Перегрузка стандартных операций
6 уроков
1.
Арифметические операторы: + - * / %. Через метод и функции
↗
2.
Сокращенные операторы присваивания: += -= *= /= %=
↗
3.
Операторы сравнения (> >= < <= == !=) и логические (&& || !)
↗
4.
Операторы доступа [], (). Инкременты/Декременты. Унарные + и -
↗
5.
Битовые операторы: ~ ^ | & << >> и ~= ^= |= &= <<= >>=
↗
6.
Дружественные функции. friend. Перегрузка std::cout и std::cin
↗
Наследование и полиморфизм
4 урока
1.
Наследование. Ключевое слов protected. Виды наследования
↗
2.
Множественное наследование. Diamond problem. Initializer list
↗
3.
Полимофризм и виртуальные функции
↗
4.
Абстрактные классы. Чисто виртуальные методы
↗
2. Программирование на C++ с нуля 5.00
Знакомство с языком C++
4 урока
1.
Знакомство с языком
↗
2.
Типы данных и их модификаторы
↗
3.
Типы данных. static_cast. Решение задач
↗
4.
Типы данных. Разбор домашних задач
↗
Условные конструкции
6 уроков
1.
Тип bool. Логические выражения
↗
2.
Неполный оператор if
↗
3.
Полный оператор if - else
↗
4.
Каскадный условный оператор. Вложенный условный оператор
↗
5.
Оператор switch
↗
6.
Тернарный оператор
↗
Циклы
7 уроков
1.
Цикл do-while
↗
2.
Цикл while. Часть I
↗
3.
Цикл while. Часть II
↗
4.
Цикл for. Операторы break и continue
↗
5.
Выделение цифр из числа. От младших разрядов к старшим
↗
6.
Выделение цифр из числа. От старших разрядов к младшим
↗
7.
Вложенные циклы
↗
Массивы и матрицы
7 уроков
1.
Начало. Определение
↗
2.
Алгоритмы на массивах. Анализ и подсчёт
↗
3.
Алгоритмы на массивах. Анализ и подсчёт. Часть 2
↗
4.
Алгоритмы на массивах. Изменение
↗
5.
Сортировка пузырьком
↗
6.
Двухмерные массивы. Начало
↗
7.
Двухмерные массивы. Решение задач
↗
Указатели. Динамические массивы
3 урока
1.
Указатели. Устройство памяти
↗
2.
Динамические одномерные массивы
↗
3.
Динамические двухмерные массивы
↗
Функции. Рекурсия. Ссылки
3 урока
1.
Функции. void. return. Аргументы по умолчанию
↗
2.
Область видимости. Ссылка. Указатель и ссылка как аргументы.
↗
3.
Рекурсия. Стек вызовов функций
↗