Объектно-ориентированное программирование (С++)
Кафедра информатики и автоматизации научных исследований
Специальность: Прикладная информатика
Преподаватель: Филимонов А.В.
Целями освоения дисциплины (модуля) «Объектно-ориентированное программирование (С++)» являются получение знаний и практических навыков программирования на языке С++ в рамках объектно-ориентированного программирования.
В курсе приводятся основные аспекты объектно-ориентированного программирования (ООП), даются основы языка С++, как средства реализации объектно-ориентированной парадигмы. Даются основные понятия и конструкции языка, методы реализации базовых операций. Рассматривается способ реализации объектно-ориентированной парадигмы средствами языка С++.
В результате освоения дисциплины обучающийся должен:
Знать: основы терминологии, конструкции (синтаксис, операции, работа с указателями, базовые библиотеки) языка С++, базовые принципы применения языка.
Уметь: Писать программы на языке С++ с использованием одного из компиляторов и одного из визуальных средств разработки.
Владеть: основными принципами компиляции, выполнения и отладки программ на С++ на основе одной из визуальных сред разработки.
Содержание
1. БАЗОВЫЕ ЗНАНИЯ О С++
Начальные сведения о языке. История создания языка и его эволюция. Международный стандарт языка. Сферы применения языка Си++. Пример простой программы. Объясняется процесс ее написания, использования простейших конструкций языка, использования транслятора и запуск программы на выполнение.
Имена, переменные и константы. Правила именования переменных и функций языка, правила записи констант. Понятие ключевого или зарезервированного слова, список ключевых слов Си++.
Операции и выражения. Правила формирования и вычисления выражений в языке Си++. Все операции языка.
Операторы. Описываются все операторы управления, имеющиеся в языке Си++, даются примеры их использования.
Функции. Функции – это основные единицы построения программ при процедурном программировании на языке Си++. Правила их записи, вызова и передачи параметров.
Встроенные типы данных. Рассматриваются все встроенные типы языка Си++: целые числа разной разрядности, вещественные числа, логические величины, перечисляемые значения, символы и их кодировка.
2. КЛАССЫ И ОБЪЕКТЫ.
Классы и объекты. Способы описания классов. Создание объектов. Обращение к атрибутам и методам объектов.
Производные типы данных. Создание и использование массивов, структур, объединений, указателей. Адресная арифметика. Строки и литералы.
Распределение памяти. Проблемы при явном распределении памяти в Си++, способы их решения. Ссылки и указатели. Распределение памяти под переменные, управление памятью с помощью переопределения операторов new и delete.
Производные классы, наследование. Наследование, виды наследования. Виртуальные методы. Абстрактные классы. Множественное наследование.
Контроль доступа к объекту. Рассматриваются возможности контроля доступа к атрибутам и методам объекта, контроль по чтению и по записи.
Классы – конструкторы и деструкторы. Конструкторы и деструкторы классов. Возможности инициализации объектов. Копирующий конструктор. Операции new и delete.
Дополнительные возможности классов. Рассматриваются дополнительные возможности при определении классов, включая переопределение операций, определение методов inline и задание собственных преобразований типа.
3. КОМПОНОВКА ПРОГРАММ, ПРЕПРОЦЕССОР
Компоновка программ, препроцессор. Компоновка программ, возможности, позволяющие писать большие программы.
Определение, время жизни и области видимости переменных в больших программах
Возможности построения больших программ, использование общих данных. Определение контекста, оператор namespace.
4. ОБРАБОТКА ОШИБОК, ШАБЛОНЫ
Обработка ошибок. Попытка классификации ошибок. Сообщение об ошибке с помощью возвращаемого значения. Исключительные ситуации. Обработка исключительных ситуаций, операторы try и catch.
Ввод-вывод. Потоки. Манипуляторы и форматирование ввода-вывода. Строковые потоки. Ввод-вывод файлов.
Шаблоны. Понятие шаблона. Функции-шаблоны. Шаблоны классов. Примеры использования.
Лабораторный практикум
- Простейшая программа на С++. Среда разработки Visual Studio. Ввод программы, компиляция, выполнение.
- Арифметические операции и математические функции языка С
- Битовые операции
- Работа с матрицами. Структуры и массивы структур
- Указатели, массивы, символьные строки и функции
- Классы, объекты и их ассоциации.
- Наследование и ограничение видимости
- Обработка ошибок и шаблоны
Литература
а) основная литература:
- Г. Шилдт - C++. Руководство для начинающих
- Г. Шилдт - Самоучитель C++
б) дополнительная литература:
- Роберт Седжвик - Фундаментальные алгоритмы на C++. Части 1-4. Анализ. Структуры данных. Сортировка. Поиск
Отчетность
- Семестр 3: Экз