Українська
Об’єктно-орієнтоване програмування C++
Знання C++ відкриває шлях до розробки системного програмного забезпечення, ігрових рушіїв, вбудованих систем і високопродуктивних обчислень – галузей, де найважливіші швидкодія та контроль над ресурсами. Курс не потребує попереднього досвіду роботи з C++ і одразу вчить сучасного стандарту C++26, а розуміння роботи пам’яті та об’єктів полегшує опанування будь-якої іншої мови.
Курс розраховано на здобувачів без досвіду програмування мовою C++. Він присвячений вивченню мови C++ відповідно до стандарту C++26 у середовищі Microsoft Visual Studio 2026: від базових конструкцій мови, функцій і керування пам’яттю до об’єктно-орієнтованого програмування, шаблонів, концептів, стандартної бібліотеки C++, роботи з файлами та модулів. Кожна тема курсу поєднує лекцію з лабораторною роботою.
Програма курсу
Основи мови C++
- Мова C++ та стандарт C++26, середовище Microsoft Visual Studio 2026, перша програма та система керування версіями Git
- Типи даних, змінні, операції, консольне введення-виведення (std::print) та керувальні конструкції
- Функції: параметри, передавання за посиланням, перевантаження, рекурсія
- Масиви, рядки std::string та std::string_view, динамічний масив std::vector
- Вказівники, посилання та керування пам’яттю: оператори new і delete, розумні вказівники
- Налагодження програм та обробка помилок: винятки та std::expected
Об’єктно-орієнтоване програмування
- Класи та об’єкти: поля, методи, конструктори, деструктори, інкапсуляція
- Копіювання та переміщення об’єктів, ідіома RAII, правила нуля, трьох і п’яти
- Перевантаження операцій та дружні функції
- Наслідування, віртуальні функції та поліморфізм
- Абстрактні класи, інтерфейси та множинне наслідування
Узагальнене програмування та бібліотека
- Шаблони функцій і класів, концепти
- Контейнери стандартної бібліотеки: vector, list, deque, set, map,
unordered_map - Ітератори, алгоритми, діапазони (ranges) та лямбда-вирази
- Потоки введення-виведення, робота з текстовими та двійковими файлами, бібліотека std::filesystem
- Модулі C++, організація багатофайлових проєктів та нові можливості стандарту C++26
Програмне забезпечення
| Програма | Для чого | Тема |
|---|---|---|
| Visual Studio 2026 Community з робочим навантаженням Desktop development with C++ (MSVC, Windows SDK, засоби CMake, AddressSanitizer) | Середовище розробки, компілятор і налагоджувач | 1 |
| Git для Windows | Керування версіями | 1 |
| CMake 4.2 або новіший (засоби CMake з Visual Studio або окреме встановлення) | Збирання проєктів із модулями C++26 | 16 |
Обліковий запис GitHub потрібний лише для необов’язкової публікації репозиторію.
Як влаштовано курс
Курс поділено на теми. Кожна тема відповідає одній лекції та одній лабораторній роботі і має чотири частини:
- Лекція. Теорію подано розділами в порядку читання, з прикладами коду, схемами та результатами виконання.
- Практика. Розібрані приклади розв’язання задач із повним кодом, які показують, як виконувати лабораторну роботу.
- Завдання. 30 варіантів лабораторної роботи, у кожному три рівні складності: 1 – початковий, 2 – базовий, 3 – високий. Кожне завдання самодостатнє, тому можна одразу братися за обраний рівень.
- Підсумки. Висновки теми, питання для самоперевірки та корисні посилання.
Для підготовки до контролю кожен курс також має Контрольні питання, Контрольні завдання, Корисні посилання і Рекомендовану літературу.
Як навчатися
- Відкрийте свій курс і встановіть середовище розробки, назване на сторінці курсу. Як це зробити, пояснено в першій темі кожного курсу, крім «Об’єктно-орієнтоване програмування C# II», що використовує середовище з курсу «Об’єктно-орієнтоване програмування C# I».
- Читайте розділи лекції по черзі. Набирайте та запускайте приклади самостійно, а не лише читайте їх.
- На сторінці Практика спершу спробуйте розв’язати задачу самі, а потім порівняйте своє рішення з розібраним.
- На сторінці Завдання знайдіть свій варіант (номер повідомляє викладач) і оберіть рівень складності.
- Перевірте себе питаннями на сторінці Підсумки і лише після цього переходьте до наступної теми.
- Перед іспитом повторіть Контрольні питання та розв’яжіть кілька Контрольних завдань.
Навігація
Теми та їхні розділи перелічено в меню ліворуч (на телефоні воно відкривається кнопкою «Меню»). Кнопка «Наступна сторінка» внизу кожної сторінки веде далі за програмою курсу, а список «На цій сторінці» праворуч – до потрібного підрозділу.
Матеріали курсу
- Контрольні питання — 100 питань за темами курсу для самоперевірки та підготовки до іспиту
- Контрольні завдання — практичні завдання за темами
- Корисні посилання — документація та інформаційні ресурси
- Рекомендована література — підручники та посібники