Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование_на_С++_Ч2_ООП.doc
Скачиваний:
54
Добавлен:
22.02.2015
Размер:
633.34 Кб
Скачать

Федеральное агентство железнодорожного транспорта

Уральский государственный университет путей сообщения

Кафедра «Информационные технологии и защита информации»

А. В. Кибардин

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С++

В трех частях

Часть 2

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

Учебно-методическое пособие для студентов

направления

221000 – Мехатроника и робототехника

профилей подготовки

«Проектирование и конструирование мехатронных модулей и механизмов роботов» и «Мехатронные системы в автоматизированном производстве».

Екатеринбург

Издательство УрГУПС

2012

УДК 004.43 (075.8)

К38

Кибардин, А. В.

К38 Программирование на языке С++. В 3 ч. Ч. 2 Основы объектно-ориентированного программирования : учеб.-метод. пособие /А. В. Кибардин. Екатеринбург : изд-во УрГУПС, 2012. – 76 с.

Пособие предназначено для изучения основ программирования на алгоритмическом языке С++.

Ориентировано на студентов специальности 220401 – «Мехатроника», а также на студентов, аспирантов, слушателей ФПК и подготовительного отделения, обучающихся основам современных информационных технологий.

УДК 004.43 (075.8)

Печатается по решению редакционно-издательского совета университета.

Автор: А. В. Кибардин, доцент кафедры «Информационные технологии и за- щита информации», канд. ф.м.н., УрГУПС,

Рецензенты: Г. Б. Смирнов, профессор кафедры «Вычислительная техника», д-р техн. наук, УрФУ им. первого Президента России Б.Н. Ельцина,

В. И. Радченко, профессор кафедры «Информационные технологии и защита информации», д-р физ.-мат. наук, УрГУПС

© Уральский государственный университет путей сообщения (УрГУПС), 2012

Оглавление

ВВЕДЕНИЕ 5

Классы 6

Описание класса 6

Описание объектов 7

Указатель this 8

Конструкторы 9

Конструктор копирования 12

Конструктор копирования для класса monstr: 12

Статические элементы класса 12

Статические поля 13

Статические методы 13

Дружественные функции и классы 14

Дружественные функции 14

Дружественный класс 15

Деструкторы 15

Перегрузка унарных операций 17

Перегрузка бинарных операций 18

Перегрузка операции присваивания 19

Перегрузка операции приведения типа 19

Наследование 21

Ключи доступа 21

Простое наследование 21

Правила наследования методов 25

Виртуальные методы и механизм позднего связывания 26

Абстрактные классы 27

Обработка исключительных ситуаций 28

Синтаксис исключений 28

Перехват исключений 29

Список исключений 31

Иерархии исключений 32

СТАНДАРТНАЯ БИБЛИОТЕКА 33

Потоковые классы 33

Стандартные потоки 34

Форматирование данных 35

Флаги и форматирующие методы 35

Манипуляторы 37

Методы обмена с потоком 38

Ошибки потоков 42

Файловые потоки 44

Строковые потоки 46

Строки 48

Конструкторы и присваивание строк 48

Операции 49

Функции 49

Присваивание и добавление частей строк 49

Преобразование строк 50

Поиск подстрок 51

Сравнение частей строк 52

Получение характеристик строк 52

Контейнерные классы 53

Последовательные контейнеры 55

Векторы 55

Двусторонние очереди 59

Списки 60

Ассоциативные контейнеры 65

Словари 65

Словари с дубликатами (multimap) 70

Приложение 1. Шаблоны функций 71

Приложение 2. Шаблоны классов 74

БИБЛИОГРАФИЧЕСКИЙ СПИСОК 76