Курс Программирование на C++

Код: ITCloud_C++

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

40 Академических часов

Краткий аннотированный обзор современного стандарта языка С ++. Рассматриваются как классические вопросы, такие как реализация принципов ООП средствами языка. 

Стоимость курса

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: (события, семафоры, мьютексы и другие объекты ядра)