Краткий аннотированный обзор современного стандарта языка С ++. Рассматриваются как классические вопросы, такие как реализация принципов ООП средствами языка.
Стоимость курса
36 900 рубАудитория:
Для разработчиков, владеющих одним из современных языков программирования: C, Pascal (Delphi) и др, и желающих профессионально овладеть языком С++ . Желательно (но не обязательно) знакомство с основными принципами Объектно-ориентированного программирования и шаблонами проектирования.
Требования к предварительной подготовке слушателя:
1. Владение одним из современных процедурных языков программирования.
2. Знакомство с принципами объектно-ориентированного программирования (желательно).
Содержание курса
Глава 1. Введение
1. Краткая история С++ , современные тенденции развития языка
2. Парадигмы программирования: процедурный и объектно-ориентирванный подход
3. Введение в STL
4. Среда программирования (типы приложений, основы отладки)
Глава 2. Обзор типов языка
1. Обзор системы типов языка
2. Встроенные типы
3. Пользовательские типы, оператор typedef
Глава 3. Операторы и выражения
1. Выражения и операции
2. Основные операторы языка
3. Практическая работа «Встроенные типы данных»
4. Практическая работа «Пользовательские типы данных»
Глава 4. Массивы и указатели
1. Указатели
2. Массивы
3. Указатели на массивы
4. Практическая работа «Массивы»
Глава 5. Функции
1. Объявление функции
2. Передача параметров и возврат значений
3. Практическая работа «Функции»
4. Перегрузка функции
5. Аргументы "по умолчанию"
6. Переменное количество аргументов
7. указатели на функцию и переменные типа "указатель на функцию". Таблицы виртуальных функций.
8. Практическая работа «Пользовательские функции»
Глава 6. Файлы
1. Типы и структура записи файла
2. Операторы работы с файлами
3. Практическая работа «Работа с текстовыми файлами»
Глава 7. Исключения
1. Исключительные ситуации
2. Обработка исключительных ситуаций, ошибок ( try - catch - throw )
3. Практическая работа «Обработка исключительных ситуаций»
Глава 8. Компиляция и компоновка
1. Структура проекта
2. Компоновка, сборка, компиляция
Глава 9. Классы
1. Обзор терминологии
2. "Поля, методы и свойства" vs "переменных-членов и функций-членов"
3. Управление правами доступа
4. Конструкторы
5. Статические методы
6. Деструкторы
7. Практическая работа «Классы»
Глава 10. Классы: перегрузка операций
1. О связи типов и операций над ними
2. Операции и функции
3. Перегрузка унарных и бинарных операций
4. Перегрузка специальных операций: "смарт-казатели", "индексеры", "функционвльные объекты"
5. Более тонкое распределение прав доступа: дружественные функции и классы
6. Практическая работа «Классы: перегрузка операций»
Глава 11. Шаблоны-функции и шаблоны-классы
1. Определение шаблонов-функций
2. Использование шаблонов-функций
3. Определение шаблонов-классов
4. Использование шаблонов-классов
5. Обзор известных библиотек шаблонов.
6. Практическая работа
Глава 12. Исключения
1. Группировка исключений
2. Перехват и регенерация исключений
3. Управление ресурсами: исключения в конструкторах и деструкторах
4. Необработанные исключения
5. Альтернативные методы обработки исключительных ситуаций, производительность
Глава 13. Наследование: иерархии классов
1. Введение
2. Множественное наследование
3. Виртуальные базовые классы
4. Снова об управлении доступом: защищенные поля и методы
5. Информация о типе и операторы преобразования типов
6. Практическая работа «Наследование»
Глава 14. Применение основ ООП для создания WindowsApplication
1. Создание Windows-приложения
2. Обзор библиотеки классов
3. Описание классов-наследников
4. Практическая работа «Создание наследуемых визуальных объектов»
Глава 15. Многопоточное программирование под Windows
1. Обзор основных объектов ядра Windows: процессы, потоки, кучи, стеки, объекты синхронизации
2. Функции ядра Windows, предназначенные для управления потоками: CreateThread, TerminateThread, ResumeThread, и.т.д.
3. Функции runtime-библиотеки Microsoft VC , предназначенные для управления потоками: _beginthread, _beginthreadex, и.т.д.
4. Синхронизация потоков (и процессов) теория и реализация средствами ядра Windows: (события, семафоры, мьютексы и другие объекты ядра)