СЪДЪРЖАНИЕ
1 Преглед на C++ ... 21
1.1 Какво е обектно-ориентирано програмиране ? 23
1.2 Две версии на C++ 27
1.3 Конзолен вход/изход в C++ 33
1.4 C++ коментари 38
1.5 Класове: първи поглед 40
1.6 Някои разлики между С и C++ 47
1.7 Увод в предефинирането на функции 51
1.8 Ключови думи в C++ 56
Проверка на уменията, представени в главата 56
2 Въведение в класовете ... 59
2.1 Конструктори и деструктори 61
2.2 Конструктори с аргументи 68
2.3 Увод в наследяването 74
2.4 Указатели към обекти 80
2.5 Връзка между класове, структури и обединения 82
2.6 inline функции 89
2.7 Автоматично inline деклариране 93
Проверка на уменията, представени в главата 96
3 Класовете - поглед отблизо . . . 99
3.1 Присвояване на обекти 101
3.2 Подаване на обекти към функции 106
3.3 Връщане на обекти като резултат от функции 113
3.4 Въведение в приятелските функции 117
Проверка на уменията, представени в главата 124
4 'Масиви, указатели и псевдоними ... 127
4.1 Масиви от обекти 129
4.2 Използване на указатели към обекти 134
4.3 Указателят this 135
4.4 Използване на new и delete 139
4.5 Повече за new и delete 143
4.6 Псевдоними 148
4.7 Предаване на псевдоними за обекти 153
4.8 Връщане на псевдоними 157
4.9 Независими псевдоними и ограничения 161 Проверка на уменията, представени в главата 163
5 Предефиниране на функции ... 165
5.1 Предефиниране на конструктори 167
5.2 Създаване и използване на конструктора за копие 172
5.3 Анахронизмът overload 181
5.4 Употреба на подразбиращи се аргументи 181
5.5 Предефиниране и двусмисленост 189
5.6 Откриване на адрес на предефинирана функция 193 Проверка на уменията, представени в главата 195
6 Увод в предефинирането на оператори ... 199
6.1 Основни понятия при предефинирането на оператори 201
6.2 Предефиниране на бинарни оператори 203
6.3 Предефиниране на релационни и логически оператори 210
6.4 Предефиниране на унарен оператор 212
6.5 Използване на приятелски оператори 215
6.6 Поглед отблизо на оператора за присвояване 220
6.7 Предефиниране на оператора за индекс [ ] 224 Проверка на уменията, представени в главата 228
7 Наследяване
9 Подобрена система за вход/изход на C++ ... 30
9.1 създаване на собствени манипулатори 303
9.2 Основи на файловия вход/изход 306
9.3 Неформатиран двоичен вход/изход 314
9.4 Още неформатирани входно/изходни функции 319
9.5 Произволен достъп 323
9.6 Проверка на входно/изходния статус 326 9 7 Потребителски файлове и вход/изход 330
Проверка на уменията, представени в главата 333
10 Виртуални функции . . ■ 335
10.1 Указатели към производни класове 337
10.2 Въведение във виртуалните функции ; 339
10.3 Още за виртуалните функции 347
10.4 Приложение на полиморфизма 351
Проверка на уменията, представени в главата 356
11 Шаблони и обработка на грешки . . . 353
11.2 Универсални класове 367
11.3 Обработка на изключения 374
11.4 Още за обработката на изключения 380
11.5 Обработка на изключения, генерирани от new 387 Проверка на уменията, представени в главата 390
12 Идентификация на типове по време на изпълнение и оператори за преобразуване на типове . . . 393
12.1 Разбиране на идентификацията на типове по време на изпълнение (RITI) 395
12.2 Използване на dynamic_cast 405
12.3 Използване на const_cast, reinterpret__cast и static_cast 412
Проверка на уменията, представени в главата 416
13 Именовани пространства, преобразуващи функции и някои други теми . . . 419
13.1 Именовани пространства 421
13.2 Създаване на преобразуващи функции 430
13.3 static членове на клас 433
13.4 const член-функции и mutable членове 438
13.5 Последен поглед върху конструкторите 441
13.6 Използване на спецификатори за линкера и ключовата дума asm 445
13.7 Вход/изход, базиран на масиви 447
Проверка на уменията, представени в главата 452
14 Въведение в Standard Template Library . . . 455
14.1 Преглед на Standard Template Library 458
14.2 Класовете за контейнери 461
14.3 Вектори 462
14.4 Списъци 472
14.5 Карти 482
14.6 Алгоритми 488
14.7 Класът string 497
Проверка на уменията, представени в главата 506
3,1 Упражнения 536 3 2 Упражнения 538
3.3 Упражнения 540
3.4 Упражнение 540
Проверка на уменията, представени в главата: Глава 3 541
Проверка на натрупаните умения: Глава 3 5
Преговор на уменията: Глава 4 547
4,1 Упражнения 549 4 2 Упражнения 551
4.3 Упражнение 552
4.4 Упражнения 553
4.5 Упражнения 554
4.6 Упражнения 555
4.7 Упражнение 556
4.8 Упражнения 557
Проверка на знанията, представени в тази глава: Глава 4 558
Проверка на натрупаните умения: Глава 4 560 Проверка на знанията: Глава 5 561
5.1 Упражнения 563
5.2 Упражнения 566
5.4 Упражнения 567
5.6 Упражнение 569
Проверка на знанията, представени в тази глава: Глава 5 569
Проверка на натрупаните умения: Глава 5 572 Преговор на уменията 574
6.2 Упражнения 574
6.3 Упражнение 576
6.4 Упражнения 576
6.5 Упражнения 578
6.6 Упражнение 581
6.7 Упражнения 583
Проверка на знанията, представени в тази глава: Глава 6 586
Проверка на натрупаните умения: Глава 6 592 Преговор на уменията 593
7.1 Упражнения 599 .
7.2 Упражнения 599
7.3 Упражнения 599
7.4 Упражнения 601
7.5 Упражнения 601
Проверка на знанията, представени в тази глава: Глава 7 602
Проверка на натрупаните умения: Глава 7 604 Преговор на уменията 604
8.2 Упражнения 606
8.3 Упражнения 607
8.4 Упражнения 608
8.5 Упражнения 609
Упражнения 611
Проверка на уменията, представени в тази глава: Глава 8 613
Проверка на натрупаните умения: Глава 8 616
Преговор на уменията: Глава 9 619
Упражнения 621
Упражнения 622
Упражнения 625
Упражнения 627
Упражнения 628
Упражнения 630
Проверка на уменията, представени в тази глава: глава 9 631
Проверка на натрупаните умения: Глава 9 636 Проверка на знанията: Глава 10 638 Упражнения 640 Упражнения 641 Упражнение 641
Проверка на знанията, представени в тази глава: Глава 10 645
Проверка на натрупаните умения: Глава 10 646
Проверка на знанията 649
Упражнения 649
Упражнения 650
Упражнения 652
Упражнения 652
Упражнения 653
Проверка на знанията, представени в тази
глава: Глава 11 653
Проверка на знанията: Глава 12 659
Упражнения 661
Упражнения 661
Упражнения 662
Проверка на уменията, представени в тази глава: Глава 12 663
Проверка на натрупаните умения: Глава 12 664 Проверка на знанията: Глава 13 665
13.1 Упражнения 666
13.2 Упражнения 667
13.3 Упражнения 668
13.4 Упражнения 670
13.5 Упражнения 671
13.7 Упражнения 672
Проверка на уменията, представени в тази глава: Глава 13 673
Проверка на натрупаните умения: Глава 13 674 Проверка на знанията: Глава 14 674
14.1 Упражнения 675
14.3 Упражнения 675
14.4 Упражнения 676
14.5 Упражнения 678
14.6 Упражнения 680
14.7 Упражнения 681
Проверка на уменията, представени в тази глава:Глава 14 683