چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Как программировать на C++

Харви М Дейтел; Пол Дж Дейтел

قیمت نهایی

۴۰٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۸٪ تخفیف
  • تخفیف زمان‌دار−۹٬۰۰۰ تومان

۹٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

نسخه اصلی و اورجینال

فایل دیجیتال کامل و بدون دستکاری — همان نسخه‌ای که پس از خرید دریافت می‌کنید.

مشخصات کتاب

ناشر
Бином
سال انتشار
۲۰۰۳
فرمت
PDF
زبان
روسی
حجم فایل
۱۵۱٫۳ مگابایت
شابک
9785798902293، 5798902293

دربارهٔ کتاب

Книга является руководством по программированию на языке С++. Это - одно из наиболееполных описаний последней версии С++, предназначенное как для начинающих программистов, так и для опытных пользователей, высокооценивших предыдущее издание этой книги. В книге описаны две парадигмы программирования: процедурное программирование (поскольку С++ включает язык С) и объектно-ориентированное программирование. Авторы избрали стратегию представления С-подобного материала, включающего базисные типы данных, управляющие структуры, функции, массивы, указатели, строки и структуры, представили объектно-ориентированное программирование, посвятили самую большую главу стандартной библиотеке шаблонов (STL), шаблонным контейнерам, контейнерам последовательностей, ассоциативным контейнерам, адаптерам контейнеров, итераторам для прохождения шаблонных контейнеров. Основной особенностью нового издания является полностью реализованные практические примеры объектно-ориентированного проектирования с применением унифицированного языка моделирования - Unifed Modeling Language (UML). Книга написана в виде учебника (с большим количеством методических приемов) и может быть использована в этом качестве и преподавателями, и студентами. Содержание......Page 5 Предисловие 15......Page 15 Глава 1. Введение в компьютеры и программирование на C++ 41......Page 41 1.1. Введение 42......Page 42 1.2. Что такое компьютер? 45......Page 45 1.4. Эволюция операционных систем 46......Page 46 1.5. Вычисления на персональном компьютере, распределенные вычисления и вычисления на платформе клиент/сервер 47......Page 47 1.6. Машинные языки, языки ассемблера и языки высокого уровня 48......Page 48 1.7. История С и C++ 49......Page 49 1.9. Java и Java How to Program 51......Page 51 1.10. Другие языки высокого уровня 52......Page 52 1.12. Ключевые тенденции в программном обеспечении: объектная технология 53......Page 53 1.13. Общее описание типичной среды программирования на C++ 56......Page 56 1.14. Тенденции развития аппаратных средств 58......Page 58 1.15. История Internet 59......Page 59 1.16. История World Wide Web 60......Page 60 1.17. Общие замечания о C++и об этой книге 61......Page 61 1.19. Простая программа: печать строки текста 62......Page 62 1.20. Другая простая программа: сложение двух целых чисел 66......Page 66 1.21. Концепции памяти 70......Page 70 1.22. Арифметика 71......Page 71 1.23. Принятие решений: операции проверки на равенство и отношения 75......Page 75 1.24. Размышления об объектах 79......Page 79 Глава 2. Управляющие структуры 99......Page 99 2.1. Введение 100......Page 100 2.3. Псевдокод 101......Page 101 2.4. Управляющие структуры 102......Page 102 2.5. Структура выбора if (ЕСЛИ) 104......Page 104 2.6. Структура выбора if/else (ЕСЛИ—ИНАЧЕ) 106......Page 106 2.7. Структура повторения while (ПОКА) 110......Page 110 2.8. Разработка алгоритмов: учебный пример 1 (повторение, управляемое счетчиком) 112......Page 112 2.9. Нисходящая разработка алгоритмов с пошаговой детализацией: учебный пример 2 (повторение, управляемое меткой) 115......Page 115 2.10. Нисходящая разработка алгоритмов с пошаговой детализацией: учебный пример-3 (вложенные управляющие структуры) 122......Page 122 2.11. Операции присваивания 126......Page 126 2.12. Операции инкремента и декремента 127......Page 127 2.13. Основы повторения, управляемого счетчиком 129......Page 129 2.14. Структура повторения for (ЦИКЛ) 132......Page 132 2.15. Пример использования структуры for 136......Page 136 2.16. Структура множественного выбора switch 141......Page 141 2.17. Структура повторения do/while 147......Page 147 2.18. Операторы break и continue 149......Page 149 2.19. Логические операции 151......Page 151 2.20. Ошибки случайной подмены операций проверки равенства (==) и присваивания (=) 154......Page 154 2.21. Заключение по структурному программированию 156......Page 156 2.22. Размышления об объектах: идентификация классов задачи 161......Page 161 Глава 3. функции 195......Page 195 3.1. Введение 196......Page 196 3.2. Программные компоненты в C++ 197......Page 197 3.3. Математические библиотечные функции 198......Page 198 3.4. Функции 199......Page 199 3.5. Определения функций 200......Page 200 3.6. Прототипы функций 204......Page 204 3.7. Заголовочные файлы 207......Page 207 3.8. Генерация случайных чисел 209......Page 209 3.9. Пример: азартная игра 214......Page 214 3.10. Классы памяти 217......Page 217 3.11. Правила, определяющие область действия 220......Page 220 3.12. Рекурсия 224......Page 224 3.13. Пример использования рекурсии: последовательность чисел Фибоначчи 227......Page 227 3.14. Рекурсии или итерации 230......Page 230 3.15. Функции без параметров 232......Page 232 3.16. Встраиваемые функции 234......Page 234 3.17. Ссылки и ссылочные параметры 235......Page 235 3.18. Аргументы по умолчанию 239......Page 239 3.19. Унарная операция разрешения области действия 241......Page 241 3.20. Перегрузка функций 242......Page 242 3.21. Шаблоны функции 244......Page 244 3.22. Размышления об объектах: идентификация атрибутов класса 247......Page 247 Глава 4. Массивы 277......Page 277 4.2. Массивы 278......Page 278 4.3. Объявление массивов 280......Page 280 4.4. Примеры использования массивов 281......Page 281 4.5. Передача массивов в функции 295......Page 295 4.6. Сортировка массивов 300......Page 300 4.7. Учебный пример; вычисление среднего значения, медианы и моды с использованием массивов 302......Page 302 4.8. Поиск в массивах: последовательный поиск и бинарный поиск 306......Page 306 4.9. Многомерные массивы 311......Page 311 4.10. Размышления об объектах: идентификация операций класса 317......Page 317 Глава 5. Указатели и строки 341......Page 341 5.1. Введение 342......Page 342 5.2. Объявления и инициализация переменных-указателей 343......Page 343 5.3. Операции над указателями 344......Page 344 5.4. Вызов функций по ссылке 347......Page 347 5.5. Использование спецификатора const с указателями 349......Page 349 5.6. Пузырьковая сортировка, использующая вызов по ссылке 357......Page 357 5.7. Выражения и арифметические действия с указателями 363......Page 363 5.8. Взаимосвязи между указателями и массивами 365......Page 365 5.10. Учебный пример: моделирование тасования и раздачи карт 370......Page 370 5.11. Указатели на функции 375......Page 375 5.12.1. Основы теории символов и строк 380......Page 380 5.12.2. Функции работы со строками из библиотеки обработки строк 382......Page 382 5.13. Размышления об объектах: взаимодействие между объектами 389......Page 389 Глава 6. Классы и абстрагирование данных 423......Page 423 6.1. Введение 424......Page 424 6.2. Определения структур 425......Page 425 6.3. Доступ к элементам структуры 426......Page 426 6.4. Реализация определенного пользователем типа Time с помощью struct 427......Page 427 6.5. Реализация абстрактного типа данных Time с помощью class 429......Page 429 6.6. Область действия класса и доступ к членам класса 436......Page 436 6.7. Отделение интерфейса от реализации 437......Page 437 6.8. Управление доступом к членам класса 441......Page 441 6.9. Функции доступа и обслуживающие функции-утилиты 444......Page 444 6.10. Инициализация объектов класса: конструкторы 447......Page 447 6.11. Использование конструкторов с аргументами по умолчанию 448......Page 448 6.12. Использование деструкторов 452......Page 452 6.13. Когда вызываются конструкторы и деструкторы 453......Page 453 6.14. Использование данных-членов и функций-членов 456......Page 456 6.15. Возвращение ссылки на закрытые данные-члены 461......Page 461 6.16. Присваивание побитовым копированием по умолчанию 463......Page 463 6.18. Размышления об объектах: программирование классов для модели лифта 465......Page 465 Глава 7. Классы; часть II 487......Page 487 7.2. Константные объекты и функции-члены 488......Page 488 7.3. Композиция: объекты как члены классов 497......Page 497 7.4. Дружественные функции и дружественные классы 502......Page 502 7.5. Использование указателя this 505......Page 505 7.6. Динамическое распределение памяти с помощью операций new и delete 510......Page 510 7.7. Статические члены класса 511......Page 511 7.8. Абстракция данных и скрытие информации 516......Page 516 7.9. Классы-контейнеры и классы-итераторы 519......Page 519 7.10. Proxy-классы 520......Page 520 7.11. Размышления об объектах; программирование классов для модели лифта 522......Page 522 Глава 8. Перегрузка операций 555......Page 555 8.1. Введение 556......Page 556 8.2. Основы перегрузки операций 557......Page 557 8.3. Ограничения на перегрузку операций 558......Page 558 8.4. Функции-операции как члены класса и как дружественные функции 560......Page 560 8.5. Перегрузка операций «поместить в поток» и «взять из потока» 561......Page 561 8.6. Перегрузка унарных операций 564......Page 564 8.8. Учебный пример: класс Array 565......Page 565 8.9. Преобразования типов 576......Page 576 8.10. Учебный пример: класс String 577......Page 577 8.11. Перегрузка++и— 588......Page 588 8.12. Учебный пример; класс Date 590......Page 590 Глава 9. Наследование 605......Page 605 9.1. Введение 606......Page 606 9.2. Наследование: базовые классы и производные классы 608......Page 608 9.4. Приведение типов указателей базовых классов к указателям производных классов 610......Page 610 9.6. Переопределение членов базового класса в производном классе 616......Page 616 9.7. Открытые, защищенные и закрытые базовые классы 620......Page 620 9.8. Прямые и косвенные базовые классы 621......Page 621 9.9. Использование конструкторов и деструкторов в производных классах 622......Page 622 9.10. Неявное преобразование объектов производных классов в объекты базовых классов 625......Page 625 9.11. Проектирование программного обеспечения с помощью наследования 627......Page 627 9.12. Композиция и наследование : 628......Page 628 9.14. Учебный пример: точка, круг, цилиндр 629......Page 629 9.15. Множественное наследование 636......Page 636 9.16. Размышления об объектах: включение наследования в модель лифта 641......Page 641 Глава 10. Виртуальные функции и полиморфизм 653......Page 653 10.2. Поля типов и операторы switch 654......Page 654 10.3. Виртуальные функции 655......Page 655 10.4. Абстрактные базовые классы и конкретные классы 656......Page 656 10.5. Полиморфизм 657......Page 657 10.6. Учебный пример: система расчета заработной платы 659......Page 659 10.8. Виртуальные деструкторы 670......Page 670 10.9. Учебный пример: наследование интерфейса и реализации 671......Page 671 10.10. Внутренняя реализация полиморфизма, виртуальных функций и динамического связывания в C++ 679......Page 679 Глава 11. Потоки ввода-вывода в C++ 687......Page 687 11.1. Введение 689......Page 689 11.2. Потоки 690......Page 690 11.3. Вывод потоков 692......Page 692 11.4. Ввод потоков 697......Page 697 11.5. Неформатированный ввод-вывод с использованием read, gcount и write 703......Page 703 11.6. Манипуляторы потоков 704......Page 704 11.7. Состояния формата потоков 708......Page 708 11.8. Состояния ошибок потока 719......Page 719 11.9. Связывание выходного потока с входным потоком 721......Page 721 Глава 12. Шаблоны 733......Page 733 12.1. Введение '734......Page 734 12.2. Шаблоны функций 735......Page 735 12.3. Перегрузка шаблонных функций 738......Page 738 12.4. Шаблоны классов 739......Page 739 12.5. Шаблоны классов и нетиповые параметры 744......Page 744 12.7. Шаблоны и друзья 745......Page 745 12.8. Шаблоны и статические члены 746......Page 746 Глава 13. Обработка исключений 751......Page 751 13.1. Введение 752......Page 752 13.3. Другие методы обработки ошибок 755......Page 755 13.4. Основы обработки исключений в C++ 756......Page 756 13.5. Простой пример обработки исключений: деление на нуль 757......Page 757 13.6. Генерация исключений 759......Page 759 13.7. Перехватывание исключений 761......Page 761 13.8. Повторная генерация исключений 765......Page 765 13.9. Спецификации исключений 766......Page 766 13.11. «Раскручивание* стека 767......Page 767 13.12. Конструкторы, деструкторы и обработка исключений 769......Page 769 13.14. Обработка неуспешного выполнения new 770......Page 770 13.15. Класс auto_ptr и динамическое выделение памяти 774......Page 774 13.16. Иерархия исключений стандартной библиотеки 776......Page 776 Глава 14. Обработка файлов 787......Page 787 14.2. Иерархия данных 788......Page 788 14.3. Файлы и потоки 790......Page 790 14.4. Создание файла последовательного доступа 791......Page 791 14.5. Чтение данных из файла последовательного доступа 795......Page 795 14.6. Обновление файлов последовательного доступа 801......Page 801 14.7. Файлы произвольного доступа 802......Page 802 14.8. Создание файла произвольного доступа 803......Page 803 14.9. Произвольная запись данных в файл произвольного доступа 805......Page 805 14.10. Последовательное чтение данных из файла произвольного доступа 807......Page 807 14.11. Пример: программа обработки запросов 809......Page 809 14.12. Ввод-вывод объектов 814......Page 814 Глава 15. Структуры данных 823......Page 823 15.1. Введение 824......Page 824 15.2. Классы с самоадресацией 825......Page 825 15.3. Динамическое выделение памяти 826......Page 826 15.4. Связные списки 827......Page 827 15.5. Стеки 840......Page 840 15.6. Очереди : 844......Page 844 15.7. Деревья 847......Page 847 Глава 16. Биты, символы, строки и структуры 879......Page 879 16.2. Описание структур 880......Page 880 16.5. typedef 883......Page 883 16.6. Пример: эффективное моделирование тасования и раздачи карт 884......Page 884 16.7. Поразрядные операции 887......Page 887 16.8. Битовые поля 896......Page 896 16.9. Библиотека обработки символов 899......Page 899 16.10. Функции преобразования строк 905......Page 905 16.11. Функции поиска из библиотеки обработки строк 909......Page 909 16.12. Функции работы с памятью из библиотеки обработки строк 914......Page 914 16.13. Другие функции библиотеки обработки строк 918......Page 918 Глава 17. Препроцессор 931......Page 931 17.2. Директива препроцессора#include 932......Page 932 17.3. Директива препроцессора #define: символические константы 933......Page 933 17.4. Директива препроцессора #define: макросы 934......Page 934 17.5. Условная компиляция 936......Page 936 17.6. Директивы препроцессора #error и #pragma 937......Page 937 17.9. Предопределенные символические константы 938......Page 938 17.10. Макрос assert 939......Page 939 Глава 18. Темы, относящиеся к коду, унаследованному из С 945......Page 945 18.2. Переназначение ввода-вывода в системах UNIX и DOS 946......Page 946 18.3. Список параметров переменной длины 947......Page 947 18.4. Использование аргументов командной строки 949......Page 949 18.5. Замечания по компиляции программ, состоящих из нескольких исходных файлов 951......Page 951 18.6. Завершение программы при помощи функций exit и atexit 953......Page 953 18.9. Обработка сигналов 955......Page 955 18.11. Безусловный переход: оператор goto 958......Page 958 18.12. Объединения 960......Page 960 18.13. Спецификации связывания 963......Page 963 Глава 19. Класс string и потоковая обработка строк 971......Page 971 19.1. Введение 972......Page 972 19.2. Присваивание и конкатенация строк 973......Page 973 19.3. Сравнение строк 976......Page 976 19.4. Подстроки 978......Page 978 19.5. Перестановка строк 979......Page 979 19.6. String'-xapaKTepncTHKH, 980......Page 980 19.7. Поиск символов в строке 982......Page 982 19.8. Замена символов в строке 984......Page 984 19.9. Вставка символов в строку 986......Page 986 19.10. Преобразование в строки char * стиля С 987......Page 987 19.11. Итераторы 989......Page 989 19.12. Потоковая обработка строк 990......Page 990 Глава 20. Стандартная библиотека шаблонов (STL) 999......Page 999 20.1. Введение в стандартную библиотеку шаблонов 1001......Page 1001 20.2. Контейнеры последовательностей 1014......Page 1014 20.3. Ассоциативные контейнеры 1028......Page 1028 20.4. Адаптеры контейнеров 1037......Page 1037 20.5. Алгоритмы 1042......Page 1042 20.6. Класс bitset 1076......Page 1076 20.7. Объекты-функции 1079......Page 1079 Глава 21. Дополнения к стандартному языку C++ 1093......Page 1093 21.2. Тип данных bool 1094......Page 1094 21.3. Оператор static_cast 1096......Page 1096 21.4. Оператор const_cast 1098......Page 1098 21.5. Оператор reinterpret^cast 1099......Page 1099 21.6. Пространства имен 1100......Page 1100 21.7. Информация о типе во время выполнения (RTTI) 1104......Page 1104 21.8. Ключевые слова-операторы 1108......Page 1108 21.9. Конструктор explicit 1109......Page 1109 21.10. mutable-члены класса 1114......Page 1114 21.11. Указатели на члены класса (.* и —>*) 1116......Page 1116 21.12. Множественное наследование и виртуальные базовые классы. 1118......Page 1118 21.13. Заключительные замечания : 1122......Page 1122 Приложение А. Таблица приоритетов и ассоциативности операций 1129......Page 1129 Приложение Б. Набор символов ASCII 1130......Page 1130 Приложение В. Системы счисления 1131......Page 1131 B.1. Введение 1132......Page 1132 B.2. Сокращенная запись двоичных чисел в восьмеричной и шестнадцатеричной системах счисления 1135......Page 1135 B.4. Преобразование двоичных, восьмеричных и шестнадцатеричных чисел в десятичные 1137......Page 1137 B.5. Преобразование десятичных чисел в двоичные, восьмеричные и шестнадцатеричные 1138......Page 1138 B.6. Представление отрицательных двоичных чисел: дополнение до двух 1139......Page 1139 Г.1. Ресурсы 1145......Page 1145 Г.2. Учебные материалы 1146......Page 1146 Г.5. сотр.lang.с++ 1147......Page 1147 Г.6. Компиляторы 1149......Page 1149 Г.8. Стандартная библиотека шаблонов 1150......Page 1150

قیمت نهایی

۴۰٬۰۰۰ تومان