Базовый курс С++

Продолжительность курса — 5 дней

Описание Услуги

Курс состоит из 11 занятий общей длительностью в 36 академических часов. В курсе предусмотрено 11 лабораторных работ для самостоятельного усвоения материала. Основной задачей курса является обучение слушателей теоретическим основам объектно-ориентированного программирования, приемам разработки ПО, решения типичных задач программирования и разработки приложений на языке С++.

01. После изучения курса Вы сможете:

  • Разрабатывать ПО на языке C++
  • Выполнять математические расчеты, решать задачи и реализовывать типовые алгоритмы
  • Разрабатывать консольные приложения в операционной системе Linux

Содержание курса

01. Введение. Немного истории

  • Организация вычислительной системы
  • Организация памяти
  • Языки программирования
  • Машинные языки
  • Языки низкого уровня
  • Языки высокого уровня
  • Трансляторы – компиляторы и интерпретаторы
  • Подходы к разработке ПО
  • Процедурное, модульное, структурное программирование
  • Объектно-ориентированный подход
  • Обобщенное программирование
  • Краткая история С/С++

02. Состав языка

  • Алфавит
  • Основные составляющие языка
  • Идентификаторы
  • Ключевые слова
  • Комментарии
  • Пример простейшей программы на С++

03. Переменные и базовые типы данных

  • Переменные
  • Целочисленные типы
  • Типы с плавающей точкой
  • Логический тип
  • Символьный тип
  • Пустой тип void
  • Модификаторы типов «short», «long», «unsigned», «signed»
  • Константы
  • Объявление и инициализация переменных
  • Глобальные и локальные переменные
  • Приведение типов

04. Основные операции языка С++

  • Операция присваивания
  • Арифметические операции
  • Арифметические операции с присваиванием
  • Логические операции
  • Поразрядные операции
  • Операции проверки равенства/неравенства
  • Инкремент, декремент
  • Условная операция
  • Возвращаемое значение
  • Ассоциативность операций
  • Приоритет операций

05. Операторы языка С++

  • Условный оператор «if else»
  • Оператор выбора «switch»
  • Операторы циклов «for», «while», «do while»
  • Операторы «goto», «break», «continue»
  • Пустой оператор
  • Оператор вызова функции
  • Оператор «sizeof»

06. Функции

  • Понятие функции в С++
  • Оператор «return»
  • Параметры функции
  • Формальные и фактические параметры
  • Передача параметров по ссылке и по значению
  • Рекурсивные функции
  • Шаблоны функций
  • Перегрузка функций

08. Структура программы на языке С++

  • Директивы препроцессора
  • Подключение внешних модулей
  • Порядок компиляции
  • Область видимости определений
  • Макроопределения
  • Функции
  • Функция «main»
  • Тип функции «main»
  • Аргументы командной строки

09. Массивы и указатели

  • Понятие массива
  • Работа с массивами
  • Одномерные и многомерные массивы
  • Указатели
  • Работа с динамической памятью
  • Операции с указателями
  • Массивы указателей
  • Адресная арифметика
  • Операции с указателями

11. Динамическая память

  • Работа с динамической памятью
  • Методы работы с динамической памятью
  • Операции «new» и «delete»
  • Динамические структуры данных
  • Список
  • Двусвязные и односвязные списки
  • Очередь
  • Стек

13. Объектно-ориентированное программирование на языке С++

  • Понятие класса и объекта
  • Поля и методы класса
  • Модификаторы прав доступа
  • Конструкторы и деструкторы
  • Создание экземпляра объекта
  • Динамические и статические объекты
  • Инициализация, присваивание и уничтожения объекта
  • Копирующий конструктор и указатель «this»

14. Принципы ООП

  • Инкапсуляция
  • Наследование
  • Полиморфизм
  • Реализация принципов ООП на языке С++

16. Наследование

  • Наследование классов
  • Множественное наследование
  • Защищенное наследование
  • Закрытое наследование
  • Открытие доступа к отдельным членам класса
  • Композиция объектов
  • Область видимости при наследовании

20. Шаблоны типов

  • Шаблонные функции
  • Шаблонные классы
  • Работа с шаблонами
  • Параметрические типы

21. Обработка исключений

  • Исключительные ситуации и работа с ними
  • Блоки «try catch»
  • Генерация исключения «throw»
  • Отладочный макрос «_ASSERT»

22. Потоковый ввод/вывод

  • Классы ввода/вывода данных
  • Потоки данных
  • Ввод/вывод
  • Бинарные и текстовые файлы
  • Создание, чтение, запись файлов