Содержит доступное для начинающего программиста описание соответствующего международному стандарту языка Си++, его стандартной библиотеки и входящей в нее библиотеки шаблонов STL. Материал пособия позволяет изучить синтаксис и семантику базовых конструкций языка, а также механизмы и возможности стандартной библиотеки. На многочисленных примерах программ разъясняются наиболее тонкие и трудные вопросы процедурного, объектного, объектно-ориентированного и обобщенного программирования с помощью средств языка Си++ и его библиотеки.
Для студентов вузов, учащихся колледжей и специализированных школ. Может использоваться в качестве самоучителя и справочного пособия.
Author(s): Подбельский В.В.
Publisher: Финансы и статистика
Year: 2008
Language: Russian
Pages: 691
City: Москва
Оглавление ......Page 4
Предисловие ......Page 8
1.1. Первая программа на языке Си++ ......Page 14
1.2. Пространство имен и стандартные заголовки ......Page 18
1.3. Программа с вводом данных в цикле ......Page 21
1.4. Строки в языке Си++ ......Page 23
2.1. Общие сведения о программах, лексемах и алфавите ......Page 26
2.2. Идентификаторы и служебные слова ......Page 28
2.3. Константы-литералы и перечисления ......Page 29
2.4. Знаки операций ......Page 43
2.5. Разделители ......Page 61
3.1. Базовые и производные типы ......Page 68
3.2. Объекты и их атрибуты ......Page 74
3.3. Определения и описания ......Page 95
3.4. Выражения и преобразования типов ......Page 102
4.1. Последовательно выполняемые операторы ......Page 112
4.2. Операторы выбора (ветвления) ......Page 114
4.3. Операторы цикла ......Page 119
4.4. Операторы передачи управления ......Page 125
5.1. Указатели и адреса объектов ......Page 132
5.2. Адресная арифметика, типы указателей и операции над ними ......Page 138
5.3. Массивы и указатели ......Page 151
5.4. Многомерные массивы, массивы указателей, динамические массивы ......Page 163
6.1. Определения, описания и вызовы функций ......Page 178
6.2. Функции с переменным количеством параметров (аргументов) ......Page 186
6.3. Рекурсивные функции ......Page 193
6.4. Подставляемые (inline-) функции ......Page 197
6.5. Функции и массивы ......Page 199
6.6. Указатели на функции ......Page 210
6.7. Ссылки ......Page 224
6.8. Перегрузка функций ......Page 236
7.1. Стадии и команды препроцессорной обработки ......Page 240
7.2. Замены в тексте ......Page 242
7.3. Включение текстов из файлов ......Page 246
7.4. Условная компиляция ......Page 247
7.5. Макроподстановки средствами препроцессора ......Page 250
7.6. Препроцессорные операции и дополнительные директивы ......Page 255
7.7. Встроенные (предопределенные) макроимена ......Page 257
8.1. Структура как совокупность данных ......Page 261
8.2. Объединения разнотипных данных ......Page 271
8.3. Битовые поля структур и объединений ......Page 276
9.1. Класс как расширение понятия структуры ......Page 283
9.2. Конструкторы, деструкторы и статусы доступа ......Page 291
9.3. Поля данных и методы класса ......Page 303
9.4. Указатель this ......Page 316
9.5. Друзья классов ......Page 321
10.1. Строки в языках Си и Си++ ......Page 329
10.2. Конструкторы класса string ......Page 330
10.3. Операции над строками ......Page 331
10.4.1. Доступ к символу, конкатенация, присваивание ......Page 334
10.4.2. Размеры строк ......Page 335
10.4.3. Вставки, удаления, замены частей строк.... ......Page 338
10.4.4. Поиск в строке и извлечение подстрок ......Page 340
10.4.5. Сравнение строк и их частей ......Page 346
10.4.6. Обращение к данным объекта класса string ......Page 348
10.4.7. Массивы строк и обмены значениями строк ......Page 350
10.5. Консольный ввод-вывод строк и обмены с файлами ......Page 351
11.1. Расширение действия (перегрузка) стандартных операций ......Page 357
11.2. Изменение интерфейса существующего класса ......Page 370
11.3. Классы ресурсоемких объектов ......Page 373
12.1. Общие сведения об исключениях ......Page 384
12.2. Синтаксис и семантика механизма исключений ......Page 390
12.3. Исключения в конструкторах ......Page 397
13.1. Отношение включения классов ......Page 399
13.2. Общие сведения о наследовании в Си++ ......Page 402
13.3. Синтаксис наследования и доступность компонентов ......Page 407
13.4. Множественное наследование и виртуальные классы ......Page 414
13.5. Локальные классы ......Page 418
14.1. Методы при наследовании классов ......Page 420
14.2. Присваивание при наследовании ......Page 421
14.3. Конструкторы при наследовании ......Page 425
14.5. Перегрузка операций при наследовании ......Page 429
14.6. Принцип подстановки и его реализация на языке Си++ ......Page 433
14.7. Наследование и ресурсоемкие классы ......Page 438
15.1. Виртуальные функции ......Page 444
15.2. Присваивания при наследовании ......Page 447
15.3. Деструкторы при наследовании ......Page 451
15.4. Реализация виртуальных функций ......Page 453
15.5. Абстрактные классы ......Page 456
15.6. Массивы и списки указателей на абстрактные классы ......Page 463
16.1. Шаблоны функций ......Page 468
16.2. Явная специализация шаблонной функции ......Page 479
16.3. Шаблоны классов ......Page 481
16.4. Внешнее определение методов и дружественные функции шаблонных классов ......Page 485
16.5. Специализации шаблонов классов ......Page 493
16.6. Частичная пользовательская специализация ......Page 499
16.7. Объекты и массивы объектов шаблонных классов ......Page 502
17.1. Краткие сведения о STL ......Page 510
17.2. Шаблоны функций и обобщенные алгоритмы ......Page 511
17.3. Контейнеры и итераторы ......Page 516
17.4. Взаимодействие средств STL с контейнерами и алгоритмами пользователя ......Page 529
18.1. О концепции построения STL ......Page 534
18.2. Контейнеры STL ......Page 535
18.3. Основные методы контейнеров ......Page 538
18.4. Итераторы в STL ......Page 548
18.5. Функциональные объекты (функторы) ......Page 551
18.6. Алгоритмы STL ......Page 555
19.1. Обзор стандартной библиотеки Си++ ......Page 565
19.2. Ввод-вывод в языке Си++ ......Page 569
19.3. Форматирование данных при обменах с потоками ......Page 576
19.4. Функции для обмена с потоками ......Page 584
19.5. Работа с файлами ......Page 588
Приложение 1. Разработка консольных приложений в среде Microsoft Visual Studio.Net 2005 ......Page 598
Приложение 2. Константы предельных значений ......Page 611
Приложение 3. Таблицы кодов ......Page 613
Приложение 4. Вывод на консоль русского текста ......Page 620
Приложение 5. Методы класса string ......Page 623
Приложение 6. Стандартные функции библиотеки Си ......Page 633
Приложение 7. Алгоритмы STL ......Page 639
Приложение 8. Средства ввода-вывода в Си++ ......Page 651
Приложение 9. Комплексные числа в Си++ ......Page 660
Приложение 10. Свободно распространяемый компилятор DJGPP ......Page 663
Библиографический список ......Page 668
Указатель символов ......Page 671
Предметный указатель ......Page 673