Описание
Курс по C++ из 6 разделов. Приложены все исходники и множество упражнений, а также бонус по созданию игры на C++ в Unreal Engine.
Какие знания требуются для прохождения курса?
Никаких специальных знаний не требуется. Но, разумеется, элементарная компьютерная грамотность необходима: знать, что такое файл, уметь хотя бы на самом базовом уровне работать в текстовых редакторах (например, в том же Word), знать элементарные термины (архив, папка, операционная система).
Никаких других знаний не требуется. Однако, если вы уже знакомы с программированием, то сможете быстрее осваивать информацию, но это необязательно.
Содержание курса
Раздел 1. Введение
В данном разделе вы узнаете:
- Как наиболее эффективно проходить курс?
- Как работает язык C++ изнутри? Это очень важно понимать, поскольку такие базовые знания отличают дилетанта от профессионала.
- В какой среде разработки лучше писать код на C++? Как её скачать, установить (особенно важно, какие компоненты необходимы) и как настроить?
После просмотра данного раздела вы уже будете знать, что это за язык, как он работает, а также у вас уже будет всё готово для написания свои первых программ на C++.
Раздел 2. Основы программирования на C++
В этом разделе вы узнаете:
- Как пишутся программы на C++?
- Как правильно использовать комментарии?
- Что такое переменные, как они создаются и используются?
- Какие типы переменных есть в C++ и чем они отличаются друг от друга?
- Что такое константы и как с ними работать?
- Какие арифметические, логические и побитовые операции есть в C++ и как их использовать?
- Как работать с консолью?
- Как решить проблемы с кодировкой в консоли (не только на вывод, но и на ввод)?
- Что такое условный оператор и как он работает?
- Что такое оператор switch-case и когда его использовать?
- Что такое циклы и какие они есть в C++?
- Что такое цикл for, while и do-while и какая между ними разница?
- Что такое массивы, какие они бывают и, как и когда их использовать?
- Как работать с многомерными массивами?
- Что такое ссылки и для чего они нужны?
- Как создавать функции, как они работают изнутри, как они взаимодействуют со ссылками и многое-многое другое?
- Что такое область видимости переменных?
- Что такое статические переменные
- Что такое пространства имён, для чего нужны и как применяются?
- Что такое макросы?
- Как правильно разбивать код на разные файлы?
- Как собрать проект?
После прохождения этого раздела вы уже сможете писать несложные программы на языке C++.
Раздел 3. Работа с указателями
Указатели – неотъемлемая часть языка C++. Трудно представить серьёзный и грамотно написанный проект, где не использовались бы указатели. Поэтому работать с ними надо уметь обязательно, и как раз в этом разделе этим мы и займёмся.
Посмотрев данный раздел, вы узнаете:
- Что такое указатели и чем они отличаются от ссылок?
- Как взаимодействуют между собой указатели и массивы?
- Как работают константы и указатели вместе?
- Как работать с массивами в параметрах функций?
- Что такое указатель на функцию, а также как и когда его использовать?
- Что такое динамические объекты?
- Как не допустить утечку памяти?
Раздел 4. Объектно-ориентированное программирование
Объектно-ориентированное программирование (ООП) – это самая популярная методика программирования, без которой немыслимо подавляющее большинство проектов не то, что средних и крупных, а даже маленьких. И сам язык C++, если ООП не использовать, становится бессмысленным (уж лучше тогда язык C использовать). Поэтому ООП надо обязательно знать любому, кто работает с C++. И как раз в этом разделе вы и освоите ООП.
В этом разделе вы узнаете:
- Что такое объектно-ориентированное программирование и какие парадигмы в нём есть?
- Как создаётся класс в C++?
- Что такое конструкторы и деструкторы?
- Что такое методы (функции класса) и их перегрузка?
- Как правильно использовать .h и .cpp файлы?
- Что такое модификаторы доступа и как правильно их применять?
- Что такое дружественные функции и классы?
- Что такое статические поля и методы?
- Что такое перечисления?
- Что такое структуры?
- Что такое наследование и как его использовать в C++?
- Что такое виртуальные методы?
- Как делать перегрузку операторов?
- Что такое абстрактные классы и методы?
- Что такое шаблоны и как они используются?
После просмотра данного раздела вы сможете создавать относительно сложные проекты с любой по сложности иерархией классов.
Раздел 5. Обработка исключений
В этом разделе вы узнаете:
- Что такое исключения и почему они так важны?
- Как обрабатываются исключения в C++?
- Как генерировать исключения?
- Как обрабатывать много исключений?
- Как создавать свои собственные исключения?
Просмотрев этот раздел, вы сможете грамотно обрабатывать самые различные исключительные ситуации, как в чужих библиотеках, так и при написании собственных.
Раздел 6. Стандартные классы в C++
C++ не был бы таким замечательным, если бы не содержал огромное количество классов, где уже решены наиболее часто встречающиеся задачи перед программистами. И как раз некоторые из этих классов мы и рассмотрим в этом разделе.
В данном разделе вы узнаете:
- Как выполнять самые различные строковые операции?
- Что такое регулярные выражения, как их создавать и как использовать?
- Как выполнять разнообразные математические операции?
- Как считывать данные из файла?
- Как записывать данные в файл?
- Как использовать контейнеры – важнейшие классы, без которых не обходится ни одна мало-мальски серьёзная программа?
- Как быстро и легко осваивать новые классы, которые могут понадобиться Вам в процессе программирования?
После прохождения данного раздела вы не просто освоите те классы, без которых немыслимо программирование, но и, что куда более важно, научитесь самостоятельно осваивать новые классы, а это, в свою очередь, является важнейшей частью при написании программ с абсолютно любым функционалом. Невозможно (и не нужно) знать и помнить всё, но решить любую поставленную задачу за счёт умения программировать и умения пользоваться справочной информацией, вы научитесь, пройдя этот курс и этот раздел, в частности.
Бонус. Программирование на C++ в Unreal Engine
Одной из основных областей применения языка C++ являются игры. Безусловно, на C++ можно создавать игры с нуля, однако, это разумно только для совсем простых игр, либо уж очень необычных игр. Для 3D-игр, которые достаточно сложны, разумнее использовать игровой движок. И самым подходящим для подавляющего большинства задач является Unreal Engine. А вот там как раз используется C++.
Бонус содержит 16 уроков общей продолжительностью около 6 часов. В рамках этих уроках вы увидите создание игры на C++ в Unreal Engine. Вот что вы узнаете, посмотрев данный бонус (всё нижеописанное, разумеется, создаётся на C++):
- Как вообще происходит программирование в Unreal Engine?
- В чём особенность программирования на C++ в Unreal Engine?
- Как создать базового персонажа?
- Как создать игрока?
- Как программируется анимация?
- Как создаётся GameMode?
- Как делаются компоненты?
- Как создаются виджеты?
- Как делаются игровые интерактивные объекты?
- Как создаются противники?
- Как создаётся искусственный интеллект?
- Как работать со звуками?
- Как создаются интерфейсы и как применяются?
- Как правильно пользоваться официальной документацией для решения любых возникающих задач?
- Многое-многое другое.




