Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Подбельский учебник с++ / Подбельский - главы 10-12

.pdf
Скачиваний:
28
Добавлен:
22.05.2015
Размер:
1.46 Mб
Скачать

536

Функция

read_string

read to_delim

Язык Си++

Таблица П6.2 (продолжение)

Прототипикраткоеописаниедействий

istreamt read_string(istreamfi is) ;

читать строку из входного потока is (до символа EOF или

NULL)

istreamfi read_to_delim(istreamt is , char delim = '\n') ;

Считывать строку из входного потока is до тех пор, пока не будет встречен символ delim или EOF (символ-

разделитель delim из потока удаляется)

read_token

istream6 read_toJcen(istreamS is) ;

 

Считать строку из входного потока is до обобщенного про-

 

бела (ведущие пробелы не учитываются)

rfind

size_t rfind(const stringt

s );

 

size_t rfind(const stringt

s, size_t pos);

 

Аналог функции find, но возвращает позицию последнего

 

вхождения подстроки s

 

remove

strings remove(size_t pos);

stringfi remove(size_t pos,

size_t n - NPOS);

 

 

Удаляет все символы (не более п символов), начиная с пози-

 

ции рое исходной строки и до ее конца. Возвращает ссылку

 

на строку-результат

 

replace

strings.replace(size_t pos,

size_t n * NPOS,

 

const stringt s) ;

 

stringfi replace(size_t pos, size_t nl, const

 

stringt s, size_t start, size_t n2);

 

Удаляет из исходной строки не более n (nl) символов и по-

 

мещает на их место строку s (не более п2 символов из стро-

 

ки s, начиная с позиции start)

reserve

size t reserve() const;

возвращает размер отведенной памяти для размещения

 

 

строки

 

void reserve(size_t ic) ;

 

Сообщает системе, что строка может занимать более ic

 

байт памяти

resize

void resize(size_t m);

Изменяет размер строки на m символов, отбрасывая лиш-

 

 

ние либо заполняя пробелами добавленные

Приложение 6. Библиотечные классы и их компонентные функции

537

 

 

Таблица П6.2 (продолжение)

Функция

Прототип и краткое описание действий

 

resize_mcr

s t a t i c size _ t resize_increment(size_t ri = 64);

ement

Изменяет приращение, используемое для автоматического из-

 

менения размера строки

 

set_case_s

s t a t i c in t

set _ case _ sensitive(in t tf = 1) ;

 

ensitive

Установка различия прописных и строчных букв: 1 - различать,

 

О - не различать. Возвращает предыдущую установку

 

set_parano

s t a t i c i n t

set_paranoid_check(int ck = 1) ;

 

id check

Для поиска строк используется механизм хеширования, так как

 

возможно, что одно и то же хешированное значение получается

 

при обработке различных строк. Вызов функции с параметром

 

ck - 1 устанавливает заключительную проверку строк с по-

 

мощью функции strcmp (). Если ck = 0, такая проверка не

 

выполняется

 

 

skip_white

static int skip_whitespace(int sk = 1) ;

 

space

Устанавливается в 1, чтобы игнорировать пробелы после счи-

 

тывания каждой лексемы, иначе устанавливается в О

 

strip

TSubString

strip(StripType s = Trailing, char

с

 

- • ' ) ;

 

 

 

В зависимости от параметра s удаляет символы с в начале, в

 

конце либо с обеих сторон исходной строки

 

substr

string substr(size_t pos) const;

 

 

string substr(size_t pos, size_t n = NPOS) const;

 

Создает строку, содержащую копию (не более п символов), на-

 

чиная с позиции pos, и до конца строки

 

substring

TSubString substring(const char *cp) ;

 

 

const TSubString substring(const char *cp) const;

 

TSubString substring(const char *cp, size t

 

 

start) ;

~~

 

 

TSubString substring(const char *cp, size_t

 

 

start);

 

 

 

Создает объект класса TSubString, включающий копию сим-

 

волов, адресуемых указателем ср (начиная с символа start)

to lower

void to_lower();

 

 

Переводит все символы исходной строки на нижний регистр

to_upper

void to_upper();

 

 

Переводит все символы исходной строки на верхний регистр

 

Литература

539

 

 

 

20. Романовская Л.М., Русс Т.В., Свитковский С.Г. Программирование в

 

среде Си для ПЭВМ ЕС- М.: Финансы и статистика, 1991.- 352 с.

 

 

21. Borland C++. Version 4.0. Programmer's Guide.- Scotts Valley, USA:

 

Borland International, Inc. 1993.- 326 с

 

 

22. Вайнер Р., Пинсон Л. C++ изнутри: Пер. с англ.- Киев: ДиаСофт, 1993.-

Литература

304 с.

 

23. Дьюхарст С, Старк К. Программирование на Си++: Пер с англ.- Киев:

 

ДиаСофт, 1993.-272 с.

 

1. Страуструп Б. Язык программирования Си++: Пер. с англ.- М.: Радио и

24. Лукас П. C++ под рукой: Пер. с англ.- Киев: ДиаСофт, 1993.- 176 с.

 

связь, 1991.-352 с.

25. Липпман СБ. C++ для начинающих: Пер. с англ.- М.: Унитех; Рязань:

2. Эллис М., Строуструп Б. Справочное руководство по языку программи-

Гэлион, 1993.- Т. 1.- 304 с; Т. 2.- 345 с.

 

рования C++ с комментариями. Проект стандарта ANSI: Пер. с англ.-

26. Страуструп Б. Язык программирования Си++. Второе издание : Пер. с

М.:Мир, 1992.-445с.

англ.- Киев: ДиаСофт, 1993. Часть 1.- 264 с. Часть 2.- 296 с.

 

3. Керннган Б., Ритчи Д. Язык программирования Си: Пер. с англ.- М.:

27. От Си к Си++ / Е.И.Козелл, Л.М.Романовская, Т.В.Русс и др.- М.: Фи-

Финансы и статистика, 1992.- 272 с.

нансы и статистика, 1993.- 272 с.

 

4. Turbo C++. Руководство пользователя: Пер. с англ.- М.: СП ИН-

28. Кристиан К. Библиотека потокового ввода-вывода языка Си++ // PC

ТЕРКВАДРО, 1991.- 298 с.

Magazine/Russian Edition, 1994.-№3.-С. 115-123.

 

5. Turbo C++. Руководство программиста: Пер. с англ.- М.: СП ИН-

29. Borland C++. Version 4.5. Programmer's Guide.- Scotts Valley, USA:

ТЕРКВАДРО, 1991,- 394 с.

Borland International, Inc., 1994256 p.

 

30. Borland C++. Version 4.5. Class Libraries Guide,- Scotts Valley, USA:

6. Turbo C++. Справочник по библиотеке: Пер. с англ.- М.: СП ИН-

ТЕРКВАДРО, 1991.-568 с.

Borland International, Inc., 1994294p.

 

31. Bortland C++. Version 4.5. Library Reference.- Scotts Valley, USA: Borland

7. Дункан Р. Си++ для тех, кто знает Си // PC Magazine/USSR, 1991.- №3.-

С.84-106.

International, Inc., 1994.- 364 p.

 

32. Пол Ирэ. Объектно-ориентированное программирование с использова-

8. Намиот Д.Е. Язык программирования TURBO C++: Учебное пособие

/Под ред. В.А.Сухомлина.-М.: МГУ, 1991.- 121 с.

нием Си++: Пер с англ.- Киев: НИПФ ДиаСофт Лтд, 1995.- 480 с.

 

9. Borland C++ 3.0. Programmer's Guide.- Scotts Valley, USA: Borland

33. Белкин В. Обработка исключительных ситуаций в Си++: что, когда,

International, Inc. 1991.- 467 p.

как. PC Magazine/Russion Edition, 1995.-№4.-С. 180-186.

 

10. Borland C++ 3.0. User's Guide.- Scotts Valley, USA: Borland International,

34. Зуев Е., Кротов А. Новые возможности Си++ // PC Magazine/Russian

Inc. 1991.-229p.

Edition, 1994.-№7.-С 176-181.

 

11. Borland C++ 3.0. Library Reference.- Scotts Valley, USA: Borland

35. Бабэ Бруно. Просто и ясно о Borland C++. Пер. с англ.- М: БИНОМ,

 

International, Inc. 1991.- 655 p.

1995.-400 с.

 

 

12.

Неформальное введение в C++ и Turbo Vision: Пер. с англ.- Санкт-

 

 

Петербург: Галерея "ПЕТРОПОЛЬ", 1992, 384 с.

 

13. Собоцинский В.В. Практический курс Turbo C++. Основы объектно-

 

 

ориентированного программирования.- М.: Свет, 1993.- 236 с.

 

14.

Романов В.Ю. Программирование на языке C++. Практический под-

 

 

ход.- М.: Компьюч-ер, 1993.- 160 с.

 

15.

Буч Г. Объектно-ориентированное проектирование с примерами приме-

 

 

нения: Пер. с англ.- М : Конкорд, 1992.- 519 с.

 

16. Уинер Р. Язык Турбо Си: Пер. с англ.- М.: Мир, 1991384 с.

 

17. Касаткин А.И., Вальвачев А.Н. Профессиональное программирование

 

 

на языке Си. От Turbo С к Borland C++. Справочное пособие. Под общ.

 

 

ред. Касаткина А.И.- Минск: Вышэйшая школа, 1992.- 240 с.

 

18.

Рассохин Д.Н. От Си к Си++- М.: ЭДЭЛЬ, 1993.- 128 с.

 

19. Цимбал А.А., Майоров А.Г., Козодоев М.А. Turbo C++: Язык и его при-

 

 

менение.- М.: Джен Аи Лтд, 1993.- 512 с.

 

УКАЗАТЕЛЬ СИМВОЛОВ

,операция "запятая" 40, 46, 50

!операция логического отрицания 32, 46

!= операция неравенства 35, 46

# операция препроцессирования 17,53

операция замещения параметра макроса 276

##операция конкатенации лексем

вмакросе 277

% операция взятия остатка 34, 46 %= операция получения остатка, совмещенная с присваивани-

ем 37 & операция взятия адреса 32, 46

операция И (поразрядная) 34, 46

описание ссылки 215 && операция И (логическая) 36, 46

6=

побитовая операция И, сов-

 

мещенная с присваивани-

 

ем37

 

()

операция "вызов функции" 41

 

описание функции 47

 

преобразование типов 48

*

операция

разыменования 32,

 

46

 

 

операция умножения 34, 46

 

определение указателя 44

*=

операция

умножения, совме-

 

щенная с присваиванием 37

+операция сложения 32, ЗФ операция "унарный плюс" 32

++операция увеличения (инкремент) 32, 46

+= операция сложения, совмещенная с присваиванием 37

операция вычитания 32, 34 операция "унарный минус" 32

— операция уменьшения (декремент) 33, 46

-= операция вычитания, совмещенная с присваиванием 37

-> операция доступа к компонентам структурированного объекта 39, 241, 284, 296

- > * операция разыменования указателей на компоненты классов 302

операция доступа к компоненту класса по имени объекта 39

. * операция разыменования указателей на компоненты классов 302

. . . многоточие 52

/операция деления 34, 46

/комментарий (начало) 8, 174,

 

266

 

• /

комментарий

(конец) 8, 174,

 

266

 

//

комментарий

(однострочный)

 

8, 174

 

/=

операция деления, совмещен-

 

ная с присваиванием 37

:признак поля 258 спецификатор метки 52

:: операция указания области видимости 39, 46

операция уточнения области действия 283

: : * описание указателя на компонент класса 300

< операция "меньше, чем" 35, 46 « операция "сдвиг влево" 34, 46

Указатель символов

«= операция "сдвиг влево", со-

вмещенная с присваиванием 37

<= операция "меньше или равно" 35,46

= операция присваивания 37, 38,46

=0 "чистый спецификатор" 365

=операция сравнения на равенство 35, 46

>операция "больше, чем" 3,46

>=

операция "больше или равно"

 

35,46

 

»

операция "сдвиг вправо"

34,

 

46

 

»= операция "сдвиг вправо",

со-

 

вмещенная с присваивани-

 

ем 37

 

?:

операция условного выраже-

 

ния (условная операция) 42,

 

46

 

[ ]

операция индексации 41,46

 

описание массива 46,47

 

\обратный слэш 26

А операция "симметрическая разность" (исключающее ИЛИ)35,46

 

 

541

А=

операция

"симметрическая

 

разность",

совмещенная с

 

присваиванием 38

__

подчеркивание (литера) 19

 

подчеркивание в идентифи-

 

каторе 19, 20

{}

блок (составной оператор) 48

 

определение класса 281

 

определение перечисления 24

 

список инициализаторов 10,

 

12

 

I

побитовая включающая опе-

 

рация ИЛИ 34,46

побитовая включающая опе-

 

рация ИЛИ, совмещенная с

 

присваиванием 38

I |

логическая

операция ИЛИ

 

36,46

 

 

деструктор 346

 

операция дополнения до еди-

 

ницы32,46

Онуль 32

нулевой указатель 44 \0 нулевая литера 396

ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ

A-Z

ASCII-код, см. КодировкаASCII ВС++4

BGI510 EasyWin 469

ESC-последовательность26,263 /ar-указатель 161 /iwge-указатель 164 IDE469,486

ш/ше-функция 190, 275, 303 /-значение37, 59, 302, 303 MS-DOS 10

Microsoft Windows 469 леаг-указатель 160

RTTI, см. Динамическая идентификация типов

ТС++4

Абстрактный класс 365 Абстрактный тип 281 Абстракция данных 281 Агрегатный тип 59 Аддитивная операция 34

Адрес, см. Операция взятия адреса Адреса байтов памяти 158 Адресация памяти 159 Алфавит языка Си++ 18

Аргумент функции, см. Формальные параметры; Фактические параметры Арифметический тип, см. Скаляр-

ный тип Арифметическое выражение 86

Арифметическое преобразование, см. Операция преобразования

Базовый класс 52, 336, 339

абстрактный 366

виртуальный, см. Виртуальный базовый класс

непосредственный, см. Непосредственный базовый класс

непрямой, см. Непрямой базовый класс

общий 358

прямой, см. Непосредственный базовый класс

Базовый тип 57, см. также Тип данных Бинарные операции 33 Битовое поле 258

Ближний указатель, см. near- указатель Блок 48,62

и составной оператор 92

контролируемый, см. Контролируемый блок

обработчика исключений 446 Буфер потока 380, см. также Поток

В

Ввод, см. Операция ввода, см. также Поток ввода, Потоковый ввод-вывод Вещественная константа, см. Константа вещественная

Видимость, см. Область видимости Виртуальная функция 359

дружественная 365

ипроизводный класс 363

Предметный указатель

-чистая 365

Виртуальный базовый класс 356 Вложение блоков 92

-комментариев 18

-контролируемых блоков 459

-переключателей 103

-составных операторов 92

-условных операторов 93

-циклов 101

Внешнее связывание, см. Связывание внешнее Внутреннее связывание, см. Связывание внутреннее

Возвращаемое значение 170 Восьмеричная константа, см. Константа восьмеричная Встраиваемая функция, см. inline- функция Вывод, см. Операция вывода, см.

также Поток вывода, Потоковый ввод-вывод Вызов деструктора явный 347

-функции 41, 84, 173 Выражение 80, 82

-арифметическое 86

-леводопустимое, см. Леводопустимое выражение

-первичное 81

-постфиксное 83

-праводопустимое 60

-префиксное 32

Вычитание, см. Операция вычитания

Генерация исключений 448, 453, 457 Глобальная область памяти, см.

Область памяти глобальная

-переменная

-_new_handkr 465

— throwExceptionName 478 - - throwFileName 478

throwIineNumber 478

543

Д

Дальний указатель, см. far- указатель

Данные, абстракция, см. Абстракция данных

-внешние, см. Внешние данные

-класса, см. Компонентные данные класса

-тип, см. Тип данных Декремент, см. Операция декре-

мент

Деление, см. Операция деления Деструктор 294,346

-вызов 346

-явный 347

Десятичная константа, см. Константа десятичная

Динамическая идентификация типов 481,486

Директива препроцессора 17, 53, 263

-# 264, 278

-#define 264, 265

-#elif 264, 273

-#else 264, 272

-#endif264, 272

-#еггог 264, 278

-#if 264, 271

-#ifdef264,272

-#ifndef264,272'

-«include 9, 174, 264, 268

-#line 264, 278

-«pragma 264, 278

-#undef264, 268

Доступ к базовому классу из производного класса 338, 341

-к производному классу из базового класса 341

-к элементам массива 151 Дружественная функция 315

-виртуальная, см. Виртуальная дружественная функция

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

544

Язык Си++

Заголовок переключателя, см. Оператор switch

-функции 7

-цикла, см. Цикл Заголовочный файл 175, 269

-- alloch 504

-- complex.h 283, 528

-- conio.h 309, 316, 398, 504, 511

-constrea.h 384

-- cstring.h 466, 531

-- ctype.h 499

-- dos.hl61,256,506

-- except.h 466, 477

-- fcnthh 432

-- float.h 495

-- fstream.h 384, 433

-- graphks.li 306, 345, 509

-- k>.h 432

-- iomanip.h 407, 525

-- iostream.h 7, 175, 269, 384, 379

-- limits.h 494

-- raath.h 497

-mem.h 506

-new.h466

-process.h 190

-- signal.h 508

-- stdarg.h52, 181

-- stdUb.h 212, 432, 501, 507

-- stdio.h 379, 500

-- string.hl39,214,422,501

-- strstrea.hl 1,384, 420

-- sys\stat.h 432

-- typeinfo.h48i Зарезервированное слово, см.

Служебное слово Знаки операций 18, 31

Значение, возвращаемое функцией

170

-леводопустимое, см. /-значение

-параметра по умолчанию 176

-праводопустимое 32

-указателя 108

-нулевое, см. Нулевой указатель

И

Идентификатор 18, 19, 44, 54, 83

-класса 281

-массива 237

-область действия, см. Область действия идентификатора

-процессорный 265

Иерархия классов 289, 336 - библиотеки ввода-вывода

382

-виртуальных 357

-производных 349

-объектов 336

Имя 82

-массива 133

-основное 248

-переменной 59

-повторное использование 65, 66,79

-указателя 44

-уточненное 239, 241, 252, 283

-функции 169

Индекс массива 41, 130 Индексация 83, см. также Операция [] Инициализатор 75,109, 215, 292

Инициализация класса 288, см. также Конструктор

-константы 19

-массива 49,131

-динамического 155

-классов 286

-многомерного 145

-объединения 257

-объекта 70

-переменной 55,75

-ссылки 215, 224

-на объект класса 283

-статического компонента класса 286

-структуры 49, 239

-указателя 109, 241

-на функцию 206 Инкапсуляция 5, 289

Предметный указатель

Инкремент, см. Операция инкремент

Исключение 445,446,453

-Bad_typeid 482

-xalloc465

-обработка, см. Обработка исключений

-обработчик, см. Обработчик исключений

-порождение, см. Генерация исключений

Исключительная ситуация, см. Исключение

К

Класс59, 281

-complex 528

-constream 383

-niebuf525

-fstream 383, 434, 526

-fstreambase 434

-ifstream 383, 434, 526

-ios383, 519

-iostream 383

-istream383,417,521

-istrstream 383, 420

-ofstream 383, 434, 526

-ostream 383, 416, 419, 522

-ostrstream 383, 424

-string 531

-strstream 383,427

-typeinfo481

-xaUoc466

-xmsg466

-абстрактный 365

-базовый, см. Базовый класс

-данные, см. Компонентные данные класса

-дружественный, см. Дружественный класс

-инициализация, см. Инициализация класса

-компонент, см. Компонентные данные класса

3 5 - 2 4 3 2

545

-локальный, см. Локальный класс

-метод, см. Компонентная функция класса

-наследник, см. Класс производный

-определение, см. Определение класса

-памяти 61,75

-- auto 61

-- register 61,115

-- static 61, 73, 297

-- extern 61,69,73,169

-полиморфный, см. Полиморфный класс

-порождающий, см. Базовый класс

-порожденный, см. Производный класс

-потомок, см. Производный класс

-производный, см. Производный класс

-семейство, см. Шаблон семейства классов

-функции, см. Функция класса Ключевое слово, см. Служебное слово

Кодировка ANSI (Кодовая таблица MS Windows) 492

-ASCII 118, 254,488

-OEM (Кодовая таблица MS-

DOS) 490

Команда препроцессора, см. Директива препроцессора

Комментарий/* */ 8,174, 266

- // 7, 8, 174

Компонент класса, см. Компонентные данные класса Компонентная функция класса 282

дружественная, см. Дружественная функция статическая 298

Компонентные данные класса 282, 295

546

Язык Си++

защищенные 315, 339, см. также Модификатор protected

нестатические 299 общедоступные 315, 339, см. также Модификатор public

собственные 299, 339, см. также Модификатор private

статические 285, 373 Компоновка, см. Связывание Консольный поток, см. Поток консольный Константа 18, 20

-восьмеричная 20, 21

-вещественная 20, 22

-десятичная 20

-литерная, см. Константа символьная

-перечислимая 20, 24

-с плавающей точкой, см. Константа вещественная

-символьная 20, 26,30

-строковая 20, 28

-на нескольких строках 29

-целая 20, 21

-шестнадцатеричная 20, 21 Конструктор класса 288

-- X (const ХЛ) 291

-абстрактного 366

-виртуального 356

-стандартный (по умолчанию) 291

Контролируемый блок 445

Л

Леводопустимое выражение 59, см. также /-значение

Лексема8, 17,18,277 Лексический элемент, см. Лексема Литерал, см. Константа Литерная константа, см. Константа символьная

Логическая операция, см. Операция логическое И (ИЛИ, НЕ)

Локализация 92, см. также Область видимости Локальный класс 373

м

Макроопределение 48, см. также Директива препроцессора ftdefine

-FP.OFFO 164

-FP.SEG0 164

-МК ПРО 161

-va_argO52,182

-va_end()52,183

-v*_startO52, 182

-встроенное 279

Макрос,см.Макроопределение Манипулятор 405

-без параметров 406

-- dec 406

-- end 407

-- ends 407,428

-- flush 407

-- hex 118,394, 406

-- oct407

-- ws407

-с параметрами 407

-- resetfosflagsO 408

-- setbaseO 407

-- setfilK)408

-- setiosflagsO 408

-- setpreciskmO 408

-- setw()408 Массив 130.237

-динамический 154,200

-доступ к элементам, см. Доступ к элементам массива

-и указатель 130, 195

-имя, см. Имя массива

-индекс, см. Индекс массива

-инициализация, см. Инициализация массива

-многомерный 144, 196

-объединений 257

Предметный указатель

-объектов классов 283, 286

-описание, см. Описание массива

-определение, см. Определение массива

-параметр 193

-символьный 30

-указателей 149

-на строки 212

-на функции 207

Метка52,91

-case в переключателе 90,94

-default в переключателе 90, 94

Метод класса, см. Компонентная функция класса Минус, см. Операция минус унарный

Многомерный массив, см. Массив многомерный

Модификатор, см. также Служебное слово

-_cs 166

-_ds166

-_es 166

-_seg 166, 167

-_ss 166

-cdecl80, 181

-const 79, 113, 219

-far 80, 160

-friend 315

-huge 80, 160

-interrupt 80

-near 80, 160

-pascal 80, 181

-private 289, 297, 465, см. также Компонент класса собственный

-protected 289, 465, см. также Компонент класса защищенный

-public 289, 297, см. также Компонент класса общедоступный

-volatile 80

547

н

Направленный ациклический граф (НАГ) 338, 349 Наследование336

-доступа к компоненту класса 338

-множественное 338, 350

-неоднозначное 359

Начальные значения параметров, см. Значение параметра по умолчанию Неоднозначность при наследовании 359

-при обращении к компонентным данным класса 311

-при сопоставлении операторов

if и else 93

Непосредственный базовый класс 349 Непрямой базовый класс 352

Нормализованный указатель, см. Лн#е-указатель

Нулевой указатель (NULL) 44, 98, 110,120

Область видимости 92

объекта 65,68 - действия ,61

идентификатора 62, 65

оператора 93, 107

ссылки 219

- памяти глобальная 286 Обобщенный пробельный символ, см. Пробел обобщенный Обработка исключений 460 Обработчик исключений 446 Обращение к функции, см. Вызов функции Объединение 250, 387

-безымянное 257 Объединяющий тип 58, 252 Объект 59

-класса 296

35*

548

Язык Си++

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

-проектирование 5,336 Оператор 90, 108, см. также Служебное слово

-break 95,104

-continue 107

-do 98

-else 92

-for 50,99

-goto 102,448, 462

-if 14

-return 14, 103, 170,410

-switch 90,92,94

-throw 445, 458, 487

-while 42,97, 255

-безусловного перехода, см. Оператор goto

-возврата из функции, см. Оператор return

-выбора, см. Метка case в переключателе

-выражение 90

-переключатель, см. Оператор switch

-присваивания, см. Операция присваивания

-пустой 91

-составной, см. Составной оператор

-условный, см. Оператор if

-цикла 96, см. также Цикл Операционная система MS-DOS, см. MS-DOS

-MS Windows, см. Microsoft Windows

Операция

-#276

-## 277

-() 41,46,47,173

-и 41,46,47,130,218

-О 48

-. . . 52

-: 51

-; 51,90

-delete 45, 71,143, 201

-new 43,71,138,154,249,465

-и массив

-sizeof 22,33,130,138, 154, 218

-typeid481

-аддитивная 34

-бинарная 33

-больше или равно, чем (>•) 35, 46

-больше, чем (>) 35,46

-ввода ( » ) 46,385,390

-взятия адреса (в) 32, 46, 109, 115,121,130,218

-взятия остатка (%) 34,46

-выбора компонентов структурированного объекта (->, .)39, 241,284,296,327

-вывода ( « ) 46, 385, 390

-вычитания (-) 25, 32, 34, 46, 121

-декремент (—) 33,46, 121, 124

-деления (/) 34,46

-запятая (,) 40,46, 50

-индексации, см. Операция [ ]

-инкремент(++) 32,46, 121, 124

-логическое И (&£) 36, 46

- - ИЛИ (11)36,46

-- НЕ (»)32, 46

-меньше или равно, чем (<») 35, 46

-меньше, чем (<) 35, 46

-минус унарный (-) 32

-мультипликативная 34

-над указателями 120

-неравно(!»)35, 46

-отношения 35,46

-плюс унарный (+) 32

-поразрядное И (£) 34, 46

-- ИЛИ (|)34, 46 ИСКЛЮЧАЮЩЕЕ (А ) 35, 46

-- НЕ Н 32, 46

-преобразования 86

-необратимость 88

-обратимость 88

Предметный указатель

-операндов в арифметических выражениях 86, 87

-ссылок 86

-стандартное, см. Операция

преобразованиятипов - типов 46, 85

явного, см. Операция явного преобразования типов

-указателей 86

на компоненты классов 86

-префиксная 32

-приведения, см. Операция преобразования

-приоритет, см. Приоритет операций

-присваивания (*) 37,38,46, 53

-разыменования (*) 32, 46, 52, 241

-указателей на компоненты классов (.*,->*) 302

-с компонентами классов 39,46

-сравнения на равенство (•») 35, 46

-сдвига влево ( « ) 34,46

-сдвига вправо ( » ) 34, 46

-сложения (+) 32, 34,46

-указания области видимости (::)39,46

-умножения (*) 34, 46, 52

-условная (?:) 42,46

-уточнения области действия (::)283

-функция 322, 409

-явного преобразования типов 42,48,85,111,116

Описание50

-внешних ссылок 220.

-и определение, см. Определение

иописание

-компонентов класса 220

-массива 131

-явное 132

-переменной 55

-функции 51, 63, 90, 172

549

-с переменным числом параметров 177

-чистой виртуальной 366

-шаблона функций 235

-элементов класса 295 Определение54

-и описание 62,74,92

-класса 64,281

-базового 352

виртуального 356

-производного 339

-массива 131

-объединения

-переменной 59

-перечисления 24

-ссылки 215, 220

-на функцию 223

-указателя 44,108

-функции 51, 170

-виртуальной 362 повторное363

-компонентной 303

-с переменным числом параметров52,178

-шаблона

-классов 376

-- функций 230

Основное имя, см. Имя основное Особаяситуация,см. Исключение Остаток, см. Операция взятия остатка Отношения, 'см. Операция отно-

шения

п

Память, выделение автоматическое, см. Класс памяти auto (register)

динамическое, см. Операция new

явное, см. Операция new

-локальная, см. Класс памяти auto

-ПЭВМ 157

550

 

 

 

 

 

 

 

Язык Си++

 

 

 

 

 

 

 

- регистровая,

см. Класс

памяти

Поле битовое, см. Битовое поле

 

 

register

 

 

 

 

 

Полиморфизм 5, 482

 

 

Параграф памяти ПЭВМ 158

 

Полиморфный класс 360,482

Параметр фактический, см. Фак-

Поразрядные операции, см. Опе-

 

тические параметры

 

 

 

рация поразрядное И (ИЛИ, НЕ)

-

формальный,

см.

Формальные

Порождение исключений 448, 453

 

 

параметры

 

 

 

 

Порядок

вызова

деструкторов

-

шаблона, см. Список пара-

класса 288, 291

 

 

 

 

 

 

метров шаблона

 

 

 

-

конструкторов

класса

295

Параметр-ссылка 221

 

 

 

Поток 380

 

 

 

 

 

 

Перегрузка 32, 42, 81, 322

 

 

-

безымянный 426

 

 

 

-

дружественной функции 333

 

- ввода

383,

 

387,

см.

также

-

операции

ввода-вывода

388,

 

Стандартный поток ввода

 

 

429

 

 

 

 

 

 

-

включение данных 386

 

-

-

++ 329, 332

 

 

 

 

-

входной, см. Поток ввода

 

 

 

 

332

 

 

 

 

 

- вывода

383,

387,

см.

также

 

 

 

 

 

 

 

 

 

-

-

[] 376

 

 

 

 

 

 

Стандартный поток вывода

-

-

« 388,

409

 

 

 

 

-

выходной, см. Поток вывода

-

-

» 388,

413

 

 

 

 

-

запись

данных,

см.

Поток,

-

 

new 474

 

 

 

 

 

 

включение данных

 

 

-

 

индексации

376

 

 

 

-

извлечение данных 386

 

-

функции 227, 232

 

 

 

-

консольный 382

 

 

 

-

шаблона функций 236

 

 

-

стандартный, см. Стандартный

Переключатель,

см.

Оператор

 

поток

 

 

 

 

 

 

 

switch

 

 

 

 

 

-

строковый 382, 420

 

 

Переменная 59

 

 

 

 

-

входной

420

 

 

 

- автоматическая 71, см. также

-

выходной

424

 

 

 

 

 

Класс памяти auto

 

 

 

-

двунаправленный

427

 

-

глобальная, см. Глобальная пе-

-

файловый 382

 

 

 

 

 

ременная

 

 

 

 

 

- чтение данных,

см.

Поток, из-

-

индексированная

57,

147,

см.

 

влечение данных

 

 

 

 

также Индексация

 

 

Потоковый ввод-вывод 379, 519

-

локальная 40

 

 

 

 

Преобразование,

 

см.

Операция

-

регистровая,

см.

Регистровые

преобразования

 

 

 

 

 

 

переменные

 

 

 

 

Препроцессор 263

 

 

 

-

статическая 61

 

 

 

- команды, см.

Директивы пре-

Переполнение 55

 

 

 

 

 

процессора

 

 

 

 

 

Перечислимая константа, см. Кон-

Префиксная операция 32

 

 

станта перечислимая

 

 

Приведение, см. Операция преоб-

Перечислимый тип, см. Скаляр-

разования

 

 

 

 

 

 

ный тип

 

 

 

 

 

Приоритет операций 46

 

Плюс, см. Операция плюс унар-

Присваивание, см. Операция при-

 

ный

 

 

 

 

 

 

 

сваивания

 

 

 

 

 

Побочные эффекты 81, 84, 406

 

Пробел обобщенный 392

 

Подмена функции, см. Виртуаль-

Программирование

 

объектно-

 

ная функция

 

 

 

 

 

ориентированное 5

 

 

Предметный указатель

Продолжительность существования объектов 69

статическая 61, 70 локальная 71 динамическая 71

участка памяти 45 Проектирование объектно-ориенти- рованное 5 Производные типы 57, 116, 247, 281

Производный класс 52, 336 Пространство имен 64 Прототип, см. Описание

Разделитель 18,47 - пробельный 17

Разыменование указателей см. Операция разыменования Ранги операций, см. Приоритет операций

Расширение действия операции, см. Перегрузка операции Регистровая переменная

-_CS 166

-_DS 166

-lES 166

-_SS 166

Регистры сегментов 159 Режим EasyWin 469 Рекурсивная функция 187 Рекурсия 81, 187

"Родовое" программирование 119

Связывание пнешнее 61, 72

-внутреннее 61, 72

-динамическое 362

-отложенное, см. Динамическое связывание

551

-позднее, см. Динамическое связывание

-раннее, см. Статическое связываение

-статическое 362

Сдвиг вправо, см. Операция сдвига вправо

-влево, см. Операция сдвига влево Сегментная организация памяти 159 Сегментная часть адреса 158 Сегментные указатели 166,167 Сигнатура 409

-функции 169

Символ null, • \0 • 396 - - \ п ' 263

-подчеркивания, ' _' 19 Ситуация исключительная, см. Исключение

-особая, см. Исключение Скалярный тип 59 Скэн-код 254

Слово зарезервированное, см. Служебное слово

-ключевое, см. Служебное слово

-памяти 158

Сложение, см. Операция сложения Служебное (ключевое) слово

-- _CS, см. Регистровая переменная _С£

-_с$, см. Модификатор _с$

-- _DS, см. Регистровая пере-

менная _DS

-_ds, см. Модификатор _d$

-_ES, см. Регистровая переменная _ES

-_es, см. Модификатор _es

_seg, см. Модификатор _seg

-_SS, см. Регистровая переменная _SS

-_$s, см. Модификатор _ss

-auto, см. Класс памяти auto

-- break, см. Оператор break

552

 

 

Язык Си++

 

 

case, см. Метка case в пере-

return, см. Оператор return

ключателе

 

 

short, см. Тип short

catch445,454,487

 

— - signed 55, 87

 

cdecl, см. Модификаторcdecl

sizeof, см. Операция sizeof

char, см. Тип char

 

static, см. Класс памяти static

class 52, 230

 

 

г - struct 52, 282, 289, см. также

const,см. Модификаторconst

 

Структурный тип

continue,

см. Оператор

switch, см. Оператор switch

continue

 

 

 

template

230,

см. также

default, см. Метка default в

 

Шаблон

 

 

переключателе

 

this, см. Указатель this

delete, см. Операция delete

throw, см. Оператор throw

do, см. Оператор do

 

— - try 445,454

 

double, см. Тип double

 

typedef,

см. Спецификатор

else, см. Оператор else

 

 

typedef

 

 

enuro 24, см. также Перечис-

typeid, см. Операция typeid

лимые константы

 

— union 52,

289,

см. также

extern,

см.

Класс

памяти

 

Объединяющий тип

extern

 

 

 

— - unsigned, см. Тип unsigned

far, см. Модификатор far

— - virtual 356

 

float, см. Тип float

 

void, см. Тип void

for, см. Оператор for

 

volatile,

см.

Модификатор

friend,

см.

Модификатор

 

volatile

 

 

friend

 

 

 

while, см. Оператор while

goto, см. Оператор goto

список 19

 

huge, см. Модификатор huge

Смещение 158

 

if, см. Оператор if

 

Составной оператор 91

inline,

см.

Спецификатор

— и блок 92

 

 

inline

 

 

 

Спецификатор

 

int, см. Тип int

 

 

— inline 190, см. также inline-

interrupt, см. Модификатор

 

функция

 

 

interrupt

 

 

 

— typedef57,86,208,247

long, см. Тип long

 

— чистый 365

 

near, см. Модификатор near

Список инициализации, см. Ини-

new, см. Операция new

циализация

 

 

operator 322

 

 

— параметров шаблона 230, 233,

pascal,

см.

Модификатор

 

378

 

 

pascal

 

 

 

Сравнение, см. Операция сравне-

private,

см.

Модификатор

ния на равенство

 

private

 

 

 

Ссылка 53, 59, 215

 

protected, см. Модификатор

— на константу 219

 

protected

 

 

— на параметр 221

 

public,

см.

Модификатор

— на структуру 242

 

public

 

 

 

— на функцию 223

 

register,

см.

Класс

памяти

— определение, см. Определение

register

 

 

 

 

ссылки

 

 

Предметный указатель

Стандартный поток 385

- ввода сш 47,175,385

вывода cout 7, 8, 47, 117, 140, 385

ошибок сегг 385,448

предопределенный обмен данными 387

протокола clog 385

Статусдоступа 338 Стек 122,181,186 Строка 97

Строковая константа, см. Константа строковая Строковый поток, см. Поток строковый

Структура 237, см. также Структурный тип Структурный тип 58, 238, 240, 252

Сфера действия, см. Область действия

Тег, см. Структурный тип Тело

-функции 8, 170

-цикла 96, см. также Цикл Технология "copy-on-write" 532 Тип .

-char 25, 54, см. также Символьные константы

-double 23

-float 12, 23, 43

-int 12, 21

-long 15, 21

-long double, 23

-short 33, 55, 87

-unsigned 21

-void 8, 104, 170,218

-void* 118

-абстрактный, см. Абстрактный тип

-агрегатный, см. Агрегатный тип

-базовый, см. Базовый тип

553

-беззнаковый, см. Тип unsigned

-возвращаемого значения void, см. Тип void ссылка 224, 231

-данных 21, 56

-абстрактный, см. Абстрактный тип

-знаковый, см. Тип signed

-класс, см. Класс

-объединяющий, см. Объединяющий тип

-перечислимый, см. Перечислимый тип

-преобразование, см. Преобразование типа

-производный, см. Производные типы

-результата, см. Тип возвращаемого значения

-скалярный, см. Скалярный тип

-структурный, см. Структурный тип

-указателя 44

-void*, см. Тип void*

-функции 59, 169

-чисел с плавающей точкой, см. Тип float, Тип double

Точность простая, см. Тип float - двойная, см. Тип double

Указание области видимости, см. Операция указания области видимости Указатель 147

-this 81, 309

-ближний, см. леаг-указатель

-дальний, см. /аг-указатель

-значение, см. Значение указателя

-и массив, см. Массив и указатель

-инициализация, см. Инициализация массива

554

Язык Си++

Предметный указатель

555

- константа 108, 133, 220, 309

- текстовый 17

- FP_SEG(), см. Макроопределе-

- константный,

см.

Указатель-

Файловый поток, см. Поток фай-

 

ние FP_SEG()

 

константа

 

 

ловый

-

fopen()434

 

- массив, см. Массив указателей

Фактические параметры 84

-

freeO71

 

- на компонент класса 59, 300

Флаг 394, 399

-

getch() 309, 316,398

- на константу 115

 

-

ios::ate424

-

getcoloK) 344

 

- на массив 195

 

 

-

ios:app424

- getimageO 344

 

- на объект 108

 

 

-

ios::beg429

-

gotoxy()316

 

- - класса 299

 

 

-

ios::cur429

- imagesizeO 344

- на постоянную, см. Указатель

-

ios::dec400

-

initgraph() 308

 

на константу

 

 

-

ios::end429

-

int86() 256

 

- на статический

компонент

-

ios::fixed401

- mainO 7, 169

 

класса 299

 

 

-

ios::bex400

- malloc071,138

- на строку 79

 

 

-

ios::in427

- MK_FP(), см. Макроопределе-

- на структуру. 249

 

-

k»::intemal 400

 

ние MK_FP()

 

- на указатель 128

 

-

ios::left400

- open() 434, 527

- на функцию 108, 204, 210

-

ios::oct400

- printf() 52, 184,398

- нормализованный, см. huge-

-

ios::out424

-

putch()316

 

указатель

 

 

-

ios::right 400

-

putimage() 344

 

- нулевой, см. Нулевой указатель

-

ios::scientfflc 400

- qsortO 211

 

- описание, см. Описание указа-

- ios::showbase 400

-

scanfO 52,184,398

теля

 

 

-

ios::showpoint 400

-

set_new_handkrO 466

- определение,

см. Определение

-

ios::showpos 400

- set_terminate() 476

указателя

 

 

-

ios::skipws 400

- set_unexpected() 477

- переменная 143

 

- ios::stdio 400

-

strcmp()214

 

- пустой, см. Нулевой указатель

-

bs::unitbuf 400

- strcpy() 142, 422

- родовой, см. Тип void*

-

ios::uppercase 400

- strlen() 139

 

- сегментный,

см.

Сегментные

-

форматирования 402

-

terminate() 457,476

указатели

 

 

Формальные параметры 169

- unexpectedO 460,477

Умножение, см. Операция умно-

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

- va_arg(), см. Макроопределение

жения

 

 

де-выводе 398

 

va_arg()

 

Условная операция, см. Операция

- флаг, см. Флаг форматирова-

- va_endO, см. Макроопределение

условная

 

 

 

ния

 

va_end()

 

Условный оператор, см. Оператор

Функция 41

- va_start(), см. Макроопределе-

if

 

 

- abortO 460,468,476

 

ние va_start()

 

Уточнения области действия, см.

-

bioskey()254

-

виртуальная,

см. Виртуальная

Операция уточнения области

-

circle<) 344

 

функция

 

действия

 

 

-

dose<)439

- и ссылки, см. Параметр-ссылка

Уточненное имя, см. Имя уточ-

- dosegraphO 309

 

имя, см. Имя функции

ненное

 

 

- класса, см.

Компонентная

 

 

-

concatO 184

 

 

 

-

creat()432

 

функция класса

 

 

 

- exitO 190,468

- компонент класса, см. Компо-

 

 

 

-

OoodfdlO 344

 

нентная функция класса

Файл заголовочный, см. Заголо-

- FP_OFF(), см. Макроопределе-

- обращение к, см Вызо» ф\нк-

 

ние FP_OFF0

 

ции

 

вочный файл

 

 

 

 

 

 

 

 

 

 

 

 

операция, см. Операция-функ- ция описание, см. Описание функ-

ции, Прототип определение, см. Определение функции

перегруженная, см. Перегрузка функций подменяемая 362, см. также Функция виртуальная

подставляемая, см. inline- функция прототип, см. Описание функции

рекурсивная, см. Рекурсивная функция с переменным числом пара-

метров 176, см. также Определение (описание) функции с переменным числом параметров самовызывающая, см. Рекурсивная функция

семейство, см. Шаблон семейства функций сигнатура, см. Сигнатура функции

ссылка, см. Ссылка на функцию указатель, см. Указатель на функцию

Целая константа, см. Константа целая

Целочисленный тип, см. Тип int (long, short, unsigned)

Цикл 96

-бесконечный 98, 99, 100

-итерационный, см. Оператор for

-с постусловием, см. Оператор do

-с предусловием, см. Оператор while