Перейти к основному содержимому
eLearner.app

Интерактивный курс

Курс С++

Изучите современный C++ с нуля с помощью пошаговых упражнений, статической проверки и интеграции с Compiler Explorer: от базового синтаксиса и типов данных до классов и объектно-ориентированного программирования.

Статическая проверка по ключевым словам + выполнение поCompiler Explorer(один клик для копирования кода + открытия).

01 · Модуль 1. Основы C++

3 уроков

Основы: переменные, примитивные типы данных, арифметико-логические операторы и базовый ввод/вывод с помощью std::cout и std::cin.

  1. 1.1Переменные и типы данныхПримитивные типы (int, double, char, bool) и сложные объекты (std::string). Объявление, инициализация и область видимости.~10 min
  2. 1.2ОператорыАрифметические, реляционные, логические операторы и операторы присваивания. Приоритет и выражения.~8 min
  3. 1.3Ввод/вывод и потокиСтандартные потоки из библиотеки iostream: отправка вывода с помощью std::cout и чтение ввода с помощью std::cin.~10 min

02 · Модуль 2 — Поток управления

3 уроков

Условные выражения для принятия решений и циклы для повторения инструкций.

  1. 2.1Условные операторы (if-else)Управляйте условным выполнением с помощью конструкций if, else if и else.~10 min
  2. 2.2ПетлиПовторяйте блоки кода, используя циклы for, while и do- while.~12 min
  3. 2.3Оператор переключенияЧеткое управление несколькими путями ветвления на основе целочисленных или символьных значений констант.~8 min

03 · Модуль 3 — Функции и ссылки

2 уроков

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

  1. 3.1Основные функцииОбъявите и определите функции. Входные параметры, типы возвращаемых значений и базовое выполнение.~10 min
  2. 3.2Передача по значению и ссылкеКопии в памяти и псевдонимы с оператором ссылки (&). Изменение внешних параметров.~12 min

04 · Модуль 4 — Объектно-ориентированное программирование

2 уроков

Представляем классы, инкапсуляцию и автоматическое управление ресурсами.

  1. 4.1Классы и объектыСинтаксис класса, члены данных и функции-члены. Спецификаторы открытого и частного доступа для инкапсуляции.~12 min
  2. 4.2Конструкторы и деструкторыИнициализируйте состояние объекта во время создания и очищайте ресурсы после уничтожения.~12 min

05 · Модуль 5 — Структуры данных и указатели

2 уроков

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

  1. 5.1Массивы и векторыСтатические массивы в стиле C и динамические std::vector. Добавление коллекций данных, доступ к ним и манипулирование ими.~12 min
  2. 5.2УказателиАдреса памяти, оператор ссылки (&) и разыменование (*). Использование nullptr для безопасности.~15 min

06 · Модуль 6 — Наследование и полиморфизм

2 уроков

Расширьте существующие классы и реализуйте полиморфное поведение, используя виртуальные функции и наследование.

  1. 6.1Наследование в C++Создавайте иерархии классов с открытым наследованием, разбирайтесь в спецификаторе protected и вызывайте конструкторы базовых классов.~12 min
  2. 6.2Полиморфизм и виртуальные функцииРазрешайте методы во время выполнения с помощью ключевого слова virtual, понимайте виртуальные деструкторы и чисто абстрактные классы.~15 min

07 · Модуль 7 — Умные указатели

2 уроков

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

  1. 7.1std::unique_ptr и std::shared_ptrОбеспечьте эксклюзивное владение ресурсом с помощью unique_ptr или совместное владение с подсчетом ссылок с помощью Shared_ptr.~12 min
  2. 7.2std::weak_ptrУстраните циклические зависимости и ссылки, не являющиеся владельцами, связанные с ресурсами, управляемымиshared_ptr.~12 min

08 · Модуль 8 — Шаблоны

2 уроков

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

  1. 8.1Шаблоны функцийНапишите универсальные функции, определив параметры типа шаблона, и поймите вывод типов компилятором.~12 min
  2. 8.2Шаблоны классовРеализуйте универсальные классы и структуры данных, параметризованные относительно содержащегося типа данных.~15 min