Наиболее популярный всемирно признанный язык программирования, позволяющий создавать все виды компьютерных программ - от web-приложений и компьютерных игр до операционных систем.
C++ является языком программирования высокого уровня, позволяющим создавать различные программы прикладного или системного характера. C++ - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста.
Продолжительность курса: 90 учебных часов/ 11недель.
Задачи курса
Основные задачи настоящего курса заключаются:
- в ознакомлении слушателей с базовыми понятиями и принципами объектно-ориентированного программирования,
- в анализе соответствующих синтаксических средств языка программирования C++ для реализации принципов объектно-ориентированного программирования,
- в формировании чётких знаний о языке программирования C++, его синтаксисе и семантике, обеспечении перехода от навыков использования фиксированного подмножества языка к пониманию и сознательному применению всех выразительных возможностей языка C++ при разработке программного обеспечения.
Требования к уровню подготовки
Настоящий курс предполагает у слушателей наличие элементарных понятий из области информатики и навыков работы с персональным компьютером.
В начале курса желательно самостоятельно ознакомиться со средой программирования Microsoft Visual C++. Для этого достаточно прочитать книгу С. Холзнера "Visual C++ 6: учебный курс", посвящённую описанию основных приёмов работы со средой.
Содержание курса
1. ВВЕДЕНИЕ
Тема 1. Формальный язык и грамматика. Программы, единицы трансляции, комментарии. Трансляция и сборка.
Тема 2. Алфавит, ключевые слова, идентификаторы, имена, операторы, разделители, литералы. Типы, элементарные и производные типы, тип void.
Тема 3. Операции и выражения (первичные, постфиксные, унарные, сравнения, условные, присвоения, константные).
Тема 4. Операторы (помеченные, операторы-выражения, составные, цикла, условные, перехода).
Тема 5. Парадигмы программирования (процедурное, модульное, абстракция данных, объектно-ориентированное, обобщённое программирование).
2. ОБЪЯВЛЕНИЯ
Тема 6. Объявления и определения. asmОбъявления. Объекты и леводопустимые выражения. typedef-объявления.
Тема 7. Области действия и видимости имени, время жизни объекта.
3. УКАЗАТЕЛИ, ССЫЛКИ, МАССИВЫ
Тема 8. Производные типы (указатели, ссылки, массивы, функции). Указатели на константу и константные указатели.
Тема 9. Свойства массивов, навигация по массивам, строка и массив.
Тема 10. Константные указатели и массивы, sizeof операция.
4. ПРЕПРОЦЕССОР
Тема 11. Операции препроцессора # и ##. Директива define, директива include.
Тема 12. Функциональные макроопределения. Управление препроцессором.
5. ФУНКЦИИ
Тема 13. Объявление и определение функции. Предварительная инициализация параметров функции, параметры по умолчанию, массив и ссылка как параметры.
Тема 14. Вызов функции, точка вызова и точка возврата. Функции с изменяемым списком параметров.
Тема 15. Тип функции, указатель на функцию, указатель void *. "Перегруженные" функции. inline функции. Функция main().
6. КЛАССЫ
Тема 16. Объявление класса, члены класса, квалифицированные имена. Структуры, объединения, перечисления, битовые поля.
Тема 17. Функции-члены класса: объявление и определение. Конструкторы и деструкторы.
Тема 18. Определение и инициализация объекта, первичное выражение this. Интерфейс класса.
Тема 19. Статические члены класса. Особенности статических функций. Указатели на компоненты класса.
7. НАСЛЕДОВАНИЕ И ИНКАПСУЛЯЦИЯ
Тема 20. Принцип наследования. Классы-предки и классы-потомки. Иерархия наследования, диаграмма наследования.
Тема 21. Принцип инкапсуляции. Управление доступом. Спецификация доступа. Друзья класса.
Тема 22. Множественное наследование.
Тема 23. Виртуальные базовые классы.
8. ПОЛИМОРФИЗМ
Тема 24. Указатель на базовый класс.
Тема 25. Виртуальные функции, конструкторы и деструкторы. Чистые виртуальные функции, абстрактные классы. Принцип полиморфизма.
9. ОПЕРАТОРНЫЕ ФУНКЦИИ
Тема 26. Унарные и бинарные операторные функции. Преобразующие функции. Операторные функции new() и delete().
10. ШАБЛОНЫ
Тема 27. Шаблоны функций и шаблонные функции. Шаблоны классов.
Тема 28. Динамическая идентификация типов, операция typeid.
11. ПОТОКИ
Тема 29. Классы библиотеки ввода-вывода. Механизмы ввода-вывода, управление потоком, флаги и манипуляторы. Работа с файлами.
12. ИСКЛЮЧЕНИЯ
Тема 30. Ошибки и исключительные ситуации. Управление исключениями: try и catch, операция throw. Производные исключения. Неперехваченные исключения.
В конце курса выполняется итоговое задание.
|