В.В.Подбельский

ЯЗЫК СИ++

4-е издание



Рекомендовано
Министерством общего
и профессионального образования
Российской Федерации
в качестве учебного пособия
для студентов высших учебных заведений,
обучающихся по направлениям
"Прикладная математика"
и "Вычислительные машины, комплексы, системы и сети"



УДК    681.3.06:800.92(075)
ББК    32.973.26-018.1
П44

УДК    681.3.06:800.92(075)
ББК    32.973.26-018.1

ISBN    5-279-02176-8

© В.В. Подбельский, 1995
© В.В. Подбельский, 1999

ОГЛАВЛЕНИЕ

Предисловие (3)
Глава 1. НЕФОРМАЛЬНОЕ ВВЕДЕНИЕ В СИ++ (7)
     1.1. Простые программы на языке Си++ (7)
Глава 2. ЛЕКСИЧЕСКИЕ ОСНОВЫ ЯЗЫКА СИ++ (17)
     2.1. Общие сведения о программах, лексемах и алфавите (17)
     2.2. Идентификаторы и служебные слова (19)
     2.3.Константы (20)
     2.4. Знаки операций (31)
     2.5. Разделители (47)
Глава 3. СКАЛЯРНЫЕ ТИПЫ И ВЫРАЖЕНИЯ (54)
     3.1. Основные и производные типы (54)
     3.2. Объекты и их атрибуты (59)
     3.3. Определения и описания (74)
     3.4. Выражения и преобразования типов (80)
Глава 4. ОПЕРАТОРЫ ЯЗЫКА СИ++ (90)
     4.1. Последовательно выполняемые операторы (90)
     4.2. Операторы выбора (92)
     4.3. Операторы цикла (96)
     4.4. Операторы передачи управления (101)
Глава 5. АДРЕСА, УКАЗАТЕЛИ, МАССИВЫ, ПАМЯТЬ (108)
     5.1. Указатели и адреса объектов (108)
     5.2. Адресная арифметика, типы указателей и операции над ними (116)
     5.3. Массивы и указатели (130)
     5.4. Многомерные массивы, массивы указателей, динамические массивы (144)
     5.5. Организация памяти в процессорах 80х86 и указатели языка Си++ (157)
Глава 6. ФУНКЦИИ, УКАЗАТЕЛИ, ССЫЛКИ (169)
     6.1. Определения, описания и вызовы функции (169)
     6.2. Функции с переменным количеством параметров 0(176)
     6.3. Рекурсивные функции (186)
     6.4. Подставляемые (инлайн-) функции (190)
     6.5. Функции и массивы (193)
     6.6. Указатели на функции (204)
     6.7. Ссылки (215)
     6.8. Перегрузка функций (227)
     6.9. Шаблоны функций (230)
Глава 7. СТРУКТУРЫ И ОБЪЕДИНЕНИЯ (237)
     7.1. Структура как тип и совокупность данных (237)
     7.2. Объединения разнотипных данных (250)
     7.3. Битовые поля структур и объединений (258)
Глава 8. ПРЕПРОЦЕССОРНЫЕ СРЕДСТВА (263)
     8.1. Стадии и команды препроцессорной обработки (263)
     8.2. Замены в тексте (265)
     8.3. Включение текстов из файлов (268)
     8.4. Условная компиляция (271)
     8.5. Макроподстановки средствами препроцессора (274)
     8.6. Встроенные (заранее определенные) макро имена (279)
Глава 9. КЛАСС КАК АБСТРАКТНЫЙ ТИП (281)
     9.1. Класс как расширение понятия структуры (281)
     9.2. Конструкторы, деструкторы и доступность компонентов класса (287)
     9.3. Компонентные данные и компонентные функции (295)
     9.4. Определение компонентных функций (303)
     9.5. Указатель this (309)
     9.6. Друзья классов (315)
     9.7. Расширение действия (перегрузка) стандартных операций (322)
Глава 10. НАСЛЕДОВАНИЕ И ДРУГИЕ ВОЗМОЖНОСТИ КЛАССОВ (336)
     10.1. Наследование классов (336)
     10.2. Множественное наследование и виртуальные базовые классы (349)
     10.3. Виртуальные функции и абстрактные классы (359)
     10.4. Локальные классы (373)
     10.5. Классы и шаблоны (375)
Глава 11. ВВОД-ВЫВОД В ЯЗЫКЕ СИ++ (379)
     11.1. Общие сведения о библиотеке потокового ввода-вывода (379)
     11.2. Стандартные потоки для базовых типов (385)
     11.3. Форматирование данных при обменах с потоками (398)
     11.4. Ввод-вывод для типов, определенных пользователем (409)
     11.5. Функции для обмена с потоками (415)
     11.6. Строковые потоки (обмены в основной памяти) (420)
     11.7. Работа с файлами (431)
Глава 12. ОБРАБОТКА ОСОБЫХ (ИСКЛЮЧИТЕЛЬНЫХ) СИТУАЦИЙ (445)
     12.1. Общие принципы механизма обработки исключений (445)
     12.2. Синтаксис и семантика генерации и обработки исключений (453)
     12.3. Обработка исключений при динамическом выделении памяти (465)
     12.4. Функции, глобальные переменные и классы поддержки механизма исключений (475)
     12.5. Конструкторы и деструкторы в исключениях (479)
     12.6. Динамическая идентификация типов (RTTI) (481)
     12.7. Опции компилятора, относящиеся к обработке исключений и динамическому определению типов (RTTI) (486)
Приложение 1. Таблица кодов ASCII (488)
Приложение 2. Константы предельных значений (494)
Приложение 3. Стандартная библиотека функций языка Си (497)
Приложение 4. Графическая библиотека ВС++ (509)
Приложение 5. Классы и компонентные функции библиотеки потокового ввода-вывода в Си++ (519)
Приложение 6. Библиотечные классы и их компонентные функции (528)
ЛИТЕРАТУРА (538)
УКАЗАТЕЛЬ СИМВОЛОВ (540)
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ
* В скобках указаны номера страниц в печатном издании
Hosted by uCoz