Все разделы / Программирование /


Страницу Назад
Поискать другие аналоги этой работы



Книга С++

Дата закачки: 14 Октября 2008
Закачал: CHeLL
    Посмотреть другие работы этого продавца

Тип работы: Книга
Форматы файлов: Microsoft Office

Описание:
Объективно-ориентированное программирование на С++

Настоящая книга подготовлена на основе курса лекций прочитанных автором в 2001-2002гг в Московском государственном университете леса. Представленный материал соответствует стандарту ISO/IEC 14882 “Standard for the C++ Programming Language”, принятому в 1998 г, называемому также кратко как Standard C++.
Современный язык программирования С++ является достаточно развитым и сложным. Например, каждая из книг известных авторов:
Б. Страуструп. Язык программирования С++, третье издание, 1999;
С.Б. Липпман, Ж. Лажойе. Язык программирования С++ вводный курс,
третье издание, 2001
содержит около 1000 страниц и освоение этих книг затруднительно для широкого круга читателей.
При написании данной книги преследовались следующие основные цели:
- сделать изложение материала достаточно строгим,
- представить материал в доступном виде,
- дать иллюстрацию излагаемого материала с помощью многочисленных законченных примеров.
Содержимое книги представлено в 11 главах.


СОДЕРЖАНИЕ

ВВЕДЕНИЕ 6
1. ОСНОВНЫЕ ОСОБЕННОСТИ РАЗРАБОТКИ ПРОГРАММ НА С++ 16
1.1. Общие сведения о классах С++ 16
1.1.1. Нешаблонные классы 16
1.1.2. Шаблонные классы 21
1.2. Организация ввода/вывода данных 24
1.2.1. Организация классов потоков ввода/вывода 24
1.2.2. Форматируемый ввод/вывод 31
1.2.2.1. Форматирование с помощью набора флагов формата 31
1.2.2.2. Форматирование с помощью манипуляторов 42
2. ОСНОВНЫЕ ТИПЫ ДАННЫХ С++ И РАБОТА С ТИПАМИ ДАННЫХ 52
2.1. Лексические элементы языка 52
2.2. Идентификаторы и литеральные константы 53
2.2.1. Идентификаторы 53
2.2.2. Литеральные константы 53
2.3. Встроенные, производные и пользовательские типы данных 57
2.3.1. Встроенные типы данных 57
2.3.2. Производные типы данных 59
2.3.3. Пользовательские типы данных 60
2.4. Переменные 60
2.4.1. Определение переменной 60
2.4.2. Основные виды переменных 61
2.4.3. Инициализация переменных, три формы инициализации 62
2.5. Новые имена типов 64
2.6. Квалификатор типа typename 65
2.7. Константы 66
2.7.1. Константы определяемые директивой #define 66
2.7.2. Формальные константы 66
2.8. Перечисления 67
2.9. Указатели 69
2.9.1. Неинициализированный и инициализированный указатели 69
2.9.2. Родовой указатель и операторы преобразования типов 72
2.9.3. Создание указателя на произвольный тип 74
2.9.4. Использование указателей для представления значений 74
2.9.5. Константные указатели 76
2.9.6. Оператор преобразования константного типа 77
2.9.7. Создание указателя на указатель 79
2.9.8. Указатели на объекты классов 80
2.10. Ссылки 81
2.10.1. Определение ссылки 81
2.10.2. Реализация ссылки 82
2.10.3. Константная ссылка 83
2.10.4. Использование ссылок 84
2.10.5. Ссылка на указатель 84
2.10.6. Инициализация ссылки 85
2.10.7. Использование константных ссылок в определении функций 90
2.10.8. Ссылки на объекты классов 90
2.11. Одномерные массивы 92
2.11.1. Определение одномерного массива 92
2.11.2. Инициализация одномерного массива 93
2.11.3. Определение ссылки на массив 94
2.11.4. Использование массивов в качестве аргументов функций 94
2.11.5. Индексация массива 96
2.11.6. Динамические массивы 97
2.12. Двумерные массивы 98
2.12.1. Определение двумерного массива 98
2.12.2. Инициализация двумерного массива 99
2.12.3. Примеры с двумерными массивами 100
2.13. Строка символов 103
2.14. Указатели и массивы 104
2.14.1. Связь между указателями и массивами 104
2.14.2. Отличия между указателями и массивами 105
2.14.3. Использование итераторов для работы с массивами 106
2.15. Структуры 108
2.15.1. Определение и свойства структур 108
2.15.2. Массив структур 111
2.16. Объединения 112
2.17. Указатели на функции 114
2.17.1. Определение указателя на функцию 114
2.17.2. Массив указателей на функции 116
3. ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКА С++ 117
3.1. Выражения и инструкции 117
3.1.1. Выражения 117
3.1.2. Инструкции 117
3.2. Операторы и приоритеты операторов 118
3.2.1. Список операторов и их приоритеты 118
3.2.2. Интерпретация производных типов данных на основе приоритета операторов 120
3.3. Описание операторов 121
3.3.1. Оператор следования 121
3.3.2. Оператор sizeof 122
3.3.3. Оператор идентификации типов typeid 124
3.3.4. Операторы явного преобразования типов 124
3.3.5. Оператор new 126
3.3.6. Оператор delete 130
3.3.7. Условный арифметический оператор 131
3.3.8. Операторы автоувеличения и автоуменьшения 132
3.3.9. Поразрядные операторы 135
3.3.10. Логические операторы, операторы отношения и равенства 140
3.3.11. Арифметические операторы 141
3.3.12. Операторы присваивания 143
3.4. Описание инструкций 145
3.4.1. Простые и составные инструкции 145
3.4.2. Инструкции описаний имен объектов 145
3.4.3. Инструкция if 148
3.4.4. Инструкция if-else 150
3.4.5. Инструкция if-else множественного выбора 151
3.4.6. Инструкция switch 152
3.4.7. Инструкция цикла for 153
3.4.8. Инструкция цикла while 155
3.4.9. Инструкция цикла do-while 156
3.4.10. Инструкции перехода 156
4. ФУНКЦИИ ЯЗЫКА С++ 160
4.1. Определение и объявление функций 160
4.2. Прототип функции 163
4.2.1. Возвращаемое функцией значение 163
4.2.2. Передача параметров функции 167
4.3. Локальные статические переменные функции 176
4.4. Перегруженные функции 179
4.5. Рекурсивные функции 181
4.6. Встроенные функции 183
4.7. Шаблонные функции 183
4.8. Функции работы с битами 193
5. ПРОСТРАНСТВА ИМЕН 198
5.1. Определение пространства имен 198
5.2. Определение нескольких пространств имен 202
5.3. Вложенные пространства имен 203
5.4. Разделение пространства имен 205
5.5. Безымянные пространства имен 206
5.6. Заголовочные файлы стандартной библиотеки С++ 208
6. КЛАССЫ 209
6.1. Введение 209
6.2. Элементы-данные в классе, создание объекта 211
6.3. Cоздание объекта в свободной памяти 212
6.4. Создание нескольких объектов 212
6.5. Элемент-функция в классе 213
6.6. Описание элемента-функции вне класса 214
6.7. Элемент-функция, возвращающая значение 214
6.8. Элемент-функция с параметрами 215
6.9. Задание аргументов элементов-функций по умолчанию 216
6.10. Конструктор класса, первая форма инициализации элементов-данных 217
6.11. Преобразование значений – явный вызов конструктрора, оператор преобразования типа 218
6.12. Указатель this 223
6.13. Константные функции 225
6.14. Конструктор класса, вторая форма инициализации элементов-данных 227
6.15. Конструктор по умолчанию 228
6.16. Деструктор класса 230
6.17. Конструктор копирования 233
6.18. Функция присваивания и оператор присваивания 238
6.19. Конструктор копирования и оператор присваивания как закрытые элементы-функции класса 246
6.20. Перегруженные функции класса 248
6.21. Статические члены класса 250
6.22. Инициализация различных типов данных, включая константы и ссылочные переменные 253
6.23. Инициализация пользовательских типов данных 255
6.24. Дружественные функции и функции - помощники класса 256
6.25. Указатели на члены класса 262
6.26. Массивы объектов 268
7. ПЕРЕГРУЖЕННЫЕ ОПЕРАТОРЫ 271
7.1. Перегрузка операторов 271
7.2. Унарные компонентные операторы 271
7.3. Бинарные компонентные операторы 274
7.4. Реализация унарных и бинарных операторов с использованием динамической памяти 280
7.5. Реализация перегруженных операторов с использованием функций - помощников класса 282
7.6. Реализация перегруженных операторов с использованием дружественных функций 285
7.7. Оператор вызова функции 287
7.8. Оператор индексирования массива 291
7.9. Оператор доступа к члену класса 292
7.10. Операторы инкремента и декремента 293
8. ПРОИЗВОДНЫЕ КЛАССЫ 294
8.1. Основы наследования классов 294
8.2. Наследование классов с различными спецификаторами 305
8.3. Cокрытие переменных и переопределение методов. Виртуальные функции 320
8.4. Динамическое приведение типов 331
8.5. Виртуальный деструктор 334
8.6. Множественное наследование 336
8.7. Абстрактные классы 345
9. ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ В С++ 358
9.1. Построение обработки исключительных ситуаций 358
9.2. Применение виртуальных функций для анализа исключительных ситуаций 364
9.3. Спецификация исключений 366
10. РАБОТА С ФАЙЛАМИ В С++ 370
10.1. Файловый ввод/вывод на нижнем уровне 370
10.2. Создание потоков для работы с файлами 390
10.3. Бесформатный режим ввода/вывода данных 397
10.3.1. Функции класса basic_istream 397
10.3.2. Функции класса basic_ostream 403
10.4. Форматный режим ввода/вывода данных 407
11. КОНТЕЙНЕРНЫЕ КЛАССЫ. ШАБЛОННЫЕ КЛАССЫ 412
11.1. Контейнерный класс типа вектор и итератор для этого класса 412
11.2. Наследование класса типа вектор 428
11.3. Шаблонные классы 434
11.4. Шаблонные классы вектор и итератор 440
11.5. Наследование шаблона класса типа вектор 446
СПИСОК ЛИТЕРАТУРЫ 458



Размер файла: 3,7 Мбайт
Фаил: Microsoft Word (.doc)

 Скачать Скачать

 Добавить в корзину Добавить в корзину

    Скачано: 422         Сейчас качают: 1         Коментариев: 0





Страницу Назад

  Cодержание / Программирование / Книга С++

Вход в аккаунт:

Войти

Перейти в режим шифрования SSL

Забыли ваш пароль?

Вы еще не зарегистрированы?

Создать новый Аккаунт




Сайт помощи студентам, без посредников!