Герберт Шилдт0-07-882392-7, 5-7791-0086-1
Перевод с английского: Алексей Жданов
Новость предоставлена пользователем somelog
От издателя:
Необходимость в переработке и дополнении предыдущего издания книги вызвана в первую очередь выходом в свет долгожданного для программистов всего мира единого международного стандарта по С++. Теперь можно быть уверенным, что уже в ближайшем будущем программы на С++ будут выглядеть и функционировать одинаково, независимо от того, в какой среде программирования и для какого компилятора они написаны. В книге сохранен весь материал двух предыдущих изданий, а также добавлено несколько новых глав и множество новых разделов.
Эта книга ? наиболее удобное руководство для самостоятельного изучения С++ в соответствии с требованиями нового стандарта и рассчитана на читателей, уже владеющих языком программирования C. Методика подачи материала предполагает строго последовательное изучение глав, содержащих множество примеров программ, а также упражнений для проверки и повторения пройденного материала.
Для программистов и опытных пользователей.
Из введения:
Если вы уже знаете язык программирования С и хотели бы теперь заняться изучением C++ ? эта книга для вас.C++ ? это попытка решения разработчиками языка С задач объектноориентированного программирования (Object Oriented Programming, OOP). Построенный на твердом фундаменте С, C++ помимо OOP поддерживает множество других полезных инструментов, не жертвуя при этом ни мощью, ни элегантностью, ни гибкостью С. C++ уже стал универсальным языком для программистов всего мира, языком, на котором будет написано следующее поколение высокоэффективного программного обеспечения. Это единственный серьезный язык, который просто обязан знать любой уважающий себя профессиональный программист…
C++ полностью соответствует задачам программирования под Windows. Тем не менее ни одна из программ, предлагаемых в книге, не предназначена для работы в этой операционной системе. Наоборот, все эти программы запускаются из командной строки. Причина очевидна: программы для Windows по самой своей сути большие и сложные. По самым скромным подсчетам, для создания даже простейшей программы для Windows требуется от 50 до 70 строк исходного кода. При написании каждой такой программы для демонстрации возможностей языка C++ потребовалось бы написать тысячи строк исходного кода. Проще говоря, Windows ? это не самая подходящая среда для изучения языка программирования. Тем не менее для компиляции предлагаемых в книге программ вполне подходит компилятор, работающий в среде Windows, поскольку при выполнении программ он автоматически перейдет в консольный режим.
Когда вы в совершенстве овладеете C++, вы несомненно сумеете применить свои знания для программирования под Windows…
Сердцевиной же любого профессионального приложения является программная реализация его идеи, а отнюдь не пользовательский интерфейс, пусть даже самый что ни на есть дружественный. Другими словами, эта книга учит не созданию пользовательского интерфейса в стиле Windows, а собственно языку программирования C++.
Краткое содержание:
Введение
Глава 1. Краткий обзор С++
Глава 2. Введение в классы
Глава 3. Подробное изучение классов
Глава 4. Массивы, указатели и ссылки
Глава 5. Перегрузка функций
Глава 6. Введение в перегрузку операторов
Глава 7. Наследование
Глава 8. Введение в систему ввода/вывода С++
Глава 9. Дополнительные возможности ввода/вывода в С++
Глава 10. Виртуальные функции
Глава 11. Шаблоны и обработка исключительных ситуаций
Глава 12. Динамическая идентификация и приведение типов
Глава 13. Пространства имен и другие темы
Глава 14. Библиотека стандартных шаблонов
Приложение A. Некоторые отличия языков программирования С и С++
Приложение B. Ответы на вопросы и решения упражнений
Приложение C. Список английских технических терминов
Приложение D. Описание дискеты
Предметный указатель
Данная публикация кардинально отличается от публикации Г. Шилдт “Самоучитель C++. 3-е издание.
В этой новости совершенно новый и качественный скан книги в DJVU с OCR слоем, гиперлинковым оглавлением и содержанем в букмарках!
Цитата: somelogОчень жаль что на infanat’е в таком плачевном состоянии книжка Шилдта (Самоучитель С++). У меня была бумажная версия, но она была нужна не только мне, но ещё 2-ум друзьям – ничего не оставалось делать, надо было сканить: разрезал – засканил – и теперь есть аккуратная djvu’шка с OCR, выправлеными краями скана, ссылками внутри книги и хорошим качеством, чем и хочу поделиться.А Bookmark-и с содержанием добавил уже я, т.к. уж очень книжка хорошая.
Для сравнения качества скриншоты одной и той же страницы из нового DJVU и старого PDF:
Table of contents :
СОДЕРЖАНИЕ……Page 679
ВВЕДЕНИЕ……Page 5
Если вы работаете под Windows……Page 6
Исходные коды программ……Page 7
ГЛАВА 1. КРАТКИЙ ОБЗОР C++……Page 9
1.1. ЧТО ТАКОЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ?……Page 10
Инкапсуляция……Page 11
Полиморфизм……Page 12
Наследование……Page 13
1.2. Две версии C++……Page 14
Новые заголовки в программах на C++……Page 16
Если вы работаете со старым компилятором……Page 18
1.3. Консольный ввод и вывод в C++……Page 19
1.4. Комментарии в C++……Page 24
1.5. Классы. Первое знакомство……Page 26
1.6. Некоторые отличия языков С и C++……Page 32
1.7. Введение в перегрузку функций……Page 36
1.8. Ключевые слова C++……Page 41
ГЛАВА 2. ВВЕДЕНИЕ В КЛАССЫ……Page 43
2.1. Конструкторы и деструкторы……Page 44
2.2. Конструкторы с параметрами……Page 51
2.3. Введение в наследование……Page 57
2.4. Указатели на объекты……Page 63
2.5. Классы, структуры и объединения……Page 65
2.6. Встраиваемые функции……Page 72
2.7. Встраиваемые функции в объявлении класса……Page 75
ГЛАВА 3. ПОДРОБНОЕ ИЗУЧЕНИЕ КЛАССОВ……Page 81
3.1. Присваивание объектов……Page 82
3.2. Передача объектов функциям……Page 87
3.3. Объекты в качестве возвращаемого значения функций……Page 93
3.4. Дружественные функции: обзор……Page 97
ГЛАВА 4. МАССИВЫ, УКАЗАТЕЛИ И ССЫЛКИ……Page 107
4.1. Массивы объектов……Page 108
4.2. Использование указателей на объекты……Page 113
4.3. Указатель this……Page 114
4.4. Операторы new и delete……Page 118
4.5. Дополнительные сведения об операторах new и delete……Page 121
4.6. Ссылки……Page 127
4.7. Передача ссылок на объекты……Page 132
4.8. Ссылка в качестве возвращаемого значения функции……Page 135
4.9. Независимые ссылки и ограничения на применение ссылок……Page 139
ГЛАВА 5. ПЕРЕГРУЗКА ФУНКЦИЙ……Page 143
5.1. Перегрузка конструкторов……Page 144
5.2. Создание и использование конструкторов копий……Page 149
5.3. Устаревшее ключевое слово overload……Page 157
5.4. Аргументы по умолчанию……Page 158
5.5. Перегрузка и неоднозначность……Page 165
5.6. Определение адреса перегруженной функции……Page 168
ГЛАВА 6. ВВЕДЕНИЕ В ПЕРЕГРУЗКУ ОПЕРАТОРОВ……Page 175
6.1. основы перегрузки операторов……Page 176
6.2. Перегрузка бинарных операторов……Page 178
6.3. Перегрузка операторов отношения и логических операторов……..Page 185
6.4. Перегрузка унарных операторов……Page 186
6.5. Дружественные оператор-функции……Page 189
6.6. Особенности использования оператора присваивания……Page 194
6.7. Перегрузка оператора индекса массива []……Page 197
ГЛАВА 7. НАСЛЕДОВАНИЕ……Page 205
7.1. Управление доступом к базовому классу……Page 207
7.2. Защищенные члены класса……Page 212
7.3. Конструкторы, деструкторы и наследование……Page 216
7.4. Множественное наследование……Page 223
7.5. Виртуальные базовые классы……Page 229
ГЛАВА 8. ВВЕДЕНИЕ В СИСТЕМУ ВВОДА/ВЫВОДА C++……Page 239
8.1. Некоторые базовые положения системы ввода/вывода C++……Page 242
8.2. Форматируемый ввод/вывод……Page 244
8.3. Функции width(), precision() и fill()……Page 251
8.4. Манипуляторы ввода/вывода……Page 254
8.5. Пользовательские функции вывода……Page 259
8.6. Пользовательские функции ввода……Page 265
ГЛАВА 9. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ ВВОДА/ВЫВОДА В C++……Page 271
9.1. Создание пользовательских манипуляторов……Page 272
9.2. Основы файлового ввода/вывода……Page 275
9.3. Неформатируемый двоичный ввод/вывод……Page 282
9.4. Дополнительная информация о функциях двоичного ввода/вывода……Page 288
9.5. Произвольный доступ……Page 292
9.6. Контроль состояния ввода/вывода……Page 295
9.7. Пользовательский ввод/вывод и файлы……Page 298
ГЛАВА 10. ВИРТУАЛЬНЫЕ ФУНКЦИИ……Page 303
10.1. Указатели на производные классы……Page 304
10.2. Знакомство с виртуальными функциями……Page 306
10.3. Дополнительные сведения о виртуальных функциях……Page 313
10.4. Применение полиморфизма……Page 317
ГЛАВА 11. ШАБЛОНЫ И ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ……Page 325
11.1. Родовые функции……Page 326
11.2. Родовые классы……Page 332
11.3. Обработка исключительных ситуаций……Page 337
11.4. Дополнительная информация об обработке исключительных ситуаций……Page 344
11.5. Обработка исключительных ситуаций, возбуждаемых оператором new……Page 351
ГЛАВА 12. ДИНАМИЧЕСКАЯ ИДЕНТИФИКАЦИЯ И ПРИВЕДЕНИЕ ТИПОВ……Page 357
12.1. Понятие о динамической идентификации типа……Page 358
12.2. Оператор dynamic_cast……Page 368
12.3. Операторы const_cast, reinterpret_cast и static_cast……Page 376
ГЛАВА 13. ПРОСТРАНСТВА ИМЕН И ДРУГИЕ ТЕМЫ……Page 383
13.1. Пространства имен……Page 384
13.2. Функции преобразования……Page 393
13.3. Статические члены класса……Page 396
13.4. Постоянные и модифицируемые члены класса……Page 401
13.5. Заключительный обзор конструкторов……Page 404
13.6. Спецификаторы сборки и ключевое слово asm……Page 408
13.7. Массивы в качестве объектов ввода/вывода……Page 411
ГЛАВА 14. БИБЛИОТЕКА СТАНДАРТНЫХ ШАБЛОНОВ……Page 419
14.1. Знакомство с библиотекой стандартных шаблонов……Page 421
14.2. Классы-контейнеры……Page 424
14.3. Векторы……Page 425
14.4. Списки……Page 435
14.5. Ассоциативные списки……Page 446
14.6. Алгоритмы……Page 453
14.7. Строковый класс……Page 462
ПРИЛОЖЕНИЕ А. НЕКОТОРЫЕ ОТЛИЧИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ С И C++……Page 473
Упражнения……Page 475
Проверка усвоения материала главы 1……Page 481
Повторение пройденного……Page 483
Упражнения……Page 485
Проверка усвоения материала главы 2……Page 497
Проверка усвоения материала в целом……Page 499
Упражнения……Page 501
Проверка усвоения материала главы 3……Page 507
Проверка усвоения материала в целом……Page 509
Повторение пройденного……Page 513
Упражнения……Page 515
Проверка усвоения материала главы 4……Page 525
Проверка усвоения материала в целом……Page 527
Повторение пройденного……Page 528
Упражнения……Page 531
Проверка усвоения материала главы 5……Page 538
Проверка усвоения материала в целом……Page 541
Повторение пройденного……Page 542
Упражнения……Page 543
Проверка усвоения материала главы 6……Page 555
Проверка усвоения материала в целом……Page 563
Повторение пройденного……Page 564
Упражнения……Page 570
Проверка усвоения материала главы 7……Page 573
Проверка усвоения материала в целом……Page 575
Повторение пройденного……Page 576
Упражнения……Page 578
Проверка усвоения материала главы 8……Page 586
Проверка усвоения материала в целом……Page 589
Повторение пройденного……Page 592
Упражнения……Page 594
Содержание……Page 683
Проверка усвоения материала главы 9……Page 605
Проверка усвоения материала в целом……Page 610
Повторение пройденного……Page 612
Упражнения……Page 614
Проверка усвоения материала главы 10……Page 620
Проверка усвоения материала в целом……Page 621
Упражнения……Page 624
Проверка усвоения материала главы 11……Page 628
Повторение пройденного……Page 635
Упражнения……Page 636
Проверка усвоения материала главы 12……Page 639
Проверка усвоения материала в целом……Page 640
Повторение пройденного……Page 641
Упражнения……Page 642
Повторение пройденного……Page 650
Упражнения……Page 651
Проверка усвоения материала главы 14……Page 659
ПРИЛОЖЕНИЕ С. СПИСОК АНГЛИЙСКИХ ТЕХНИЧЕСКИХ ТЕРМИНОВ……Page 661
ПРИЛОЖЕНИЕ D. ОПИСАНИЕ ДИСКЕТЫ……Page 671
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ……Page 673
Reviews
There are no reviews yet.