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

В данный момент идет прием заявок на курс.
Мы можем сообщить вам о начале
запланированного обучения


Код: MSC++
Длительность: 40 ак.ч.
Стоимость: 36 005 р.

Аннотация:
Курс представляет собой аннотированный обзор современного стандарта языка С++. Рассматриваются как классические вопросы, такие как реализация принципов Объектно-ориентированного программирования (ООП) средствами языка, так и относительно новые, связанные со Стандартной библиотекой шаблонов (STL) и многопоточным программированием.

Аудитория:
Разработчики программного обеспечения, владеющие одним из современных языков программирования: C, Pascal (Delphi) и др., и желающие профессионально овладеть языком С++ .

Предварительный уровень подготовки:
• Владение одним из современных процедурных языков программирования в объеме университетского курса "Языки и технологии программирования".
• Знакомство с принципами объектно-ориентированного программирования (желательно).

Материалы слушателя:
• Страуструп Б. Язык программирования С++ (спец. издание) - С.-Пб. Невский диалект. 2001.
• Аммераль Л. STL для программистов на С++ - М.: ДМК, 1999
• Майерс С. Эффективное использование STL. Библиотека программиста - С.-Пб., Питер. 2002

Содержание курса:
Глава 1. Введение
• краткая история С++
• парадигмы программирования: процедурный и объектно-ориентированный подход
• введение в STL

Глава 2. Обзор типов языка
• встроенные типы
• создание собственных типов, оператор typedef
• классы и структуры

Глава 3. Массивы и указатели
• указатели
• массивы
• указатели на массивы

Глава 4. Операторы и выражения
• выражения и операции
• основные операторы языка

Глава 5. Функции
• объявление функции
• передача параметров и возврат значений
• перегрузка функции
• аргументы "по умолчанию"
• переменное количество аргументов
• указатели на функцию и переменные типа "указатель на функцию". Таблицы виртуальных функций.
• Макросы
Лабораторная работа.

Глава 6. Пространства имен

Глава 7. Исключения
• тройка try - catch - throw

Глава 8. Раздельная компиляция и компоновка, заголовочные файлы
• компоновка

Глава 9. Классы
• обзор терминологии
• "поля, методы и свойства" vs "переменных-членов и функций-членов"
• управление правами доступа
• конструкторы
• статические методы
• деструкторы
• еще раз о понятиях "класс" и "структура"

Глава 10. Классы: перегрузка операций
• о связи типов и операций над ними
• операции и функции
• перегрузка унарных и бинарных операций
• перегрузка специальных операций: "смарт-казатели", "индексеры", "функциональные объекты"
• более тонкое распределение прав доступа: дружественные функции и классы

Глава 11. О трех знаменитых шаблонах ООП
• введение в шаблон "наследование" и его реализацию средствами С++
• полиморфизм и указатели
 преобразование типов
 виртуальные функции
 введение в COM
Лабораторная работа

Глава 12. Шаблоны-функции и шаблоны-классы
• определение шаблонов-функций
• использование шаблонов-функций
• определение шаблонов-классов
• использование шаблонов-классов
• обзор известных библиотек шаблонов.
Лабораторная работа

Глава 13. Исключения
• группировка исключений
• перехват и регенерация исключений
• управление ресурсами: исключения в конструкторах и деструкторах
• необработанные исключения
• альтернативные методы обработки исключительных ситуаций, производительность

Глава 14. Иерархии классов
• введение
• множественное наследование
• виртуальные базовые классы
• снова об управлении доступом: защищенные поля и методы
• информация о типе и операторы преобразования типов

Глава 15. Стандартная библиотека шаблонов (STL)
• векторы
• стандартные контейнеры
• ассоциативные контейнеры
• "почти" контейнеры
• алгоритмы и функциональные объекты
• итераторы и распределители памяти
• потоки (ввода-вывода)
• численные алгоритмы.

Лабораторная работа.

Глава 16. Многопоточное программирование под Windows
• обзор основных объектов ядра Windows: процессы, потоки, кучи, стеки, объекты синхронизации
• функции ядра Windows, предназначенные для управления потоками: CreateThread, TerminateThread, ResumeThread, и.т.д.
• функции runtime-библиотеки Microsoft VC , предназначенные для управления потоками: _beginthread, _beginthreadex, и.т.д.
• синхронизация потоков (и процессов) теория и реализация средствами ядра Windows: (события, семафоры, мьютексы и другие объекты ядра)