В программе лояльности
На товар применяется персональная скидка, промокоды, купоны и сертификаты

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

Дейтел Харви, Дейтел Пол Дж.

Код товара: 4294065
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
Фото 3
Нет в наличии
Доставим в
г. Москва
Курьером
Л-Пост
бесплатно от 3 500 ₽
В пункт выдачи
от 77 ₽
бесплатно от 2 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Оригинальное название:
C++ How to Program
Год издания:
2022 г.
Может быть отгружен товар указанного или более позднего года
Переводчик:

Описание

Характеристики

Книга является общепризнанным руководством для изучения языка C++, который широко распространен на различных платформах, включая Windows. UNIX/Linux и MacOS. Приводится полное описание языка, ориентированное на его практическое применение (с учетом стандарта ISO/1EC 9899:2011/С11 и более поздних стандартов). Отталкиваясь от особенностей языка С. являющегося логической и конструктивной основой языка C++, книга последовательно рассматривает ключевые аспекты собственно C++, уделяя много внимания лучшим приемам практики программирования и приемам обобщенного программирования на основе шаблонов.
Весь изучаемый материал сопровождается содержательными примерами «живого кода», позволяющими читателю детально разобраться в обсуждаемом вопросе и демонстрирующими широко применяемые приемы программирования, алгоритмы и структуры данных. В конце каждой главы даются рекомендации по безопасному программированию, предлагаются контрольные вопросы и упражнения для самостоятельного решения. Изложение методически выверено и построено таким образом, что книга позволяет успешно изучать C/C++ в качестве первого языка программирования.
Адресована прежде всего изучающим программирование в учебных заведениях, но может с успехом использоваться и теми, кто хочет освоить языки C/C++ самостоятельно, а также будет полезна и тем, кто занимается преподаванием C++ как языка программирования.
издание
8
количество томов
1
количество страниц
1032 стр.
переплет
Твёрдый переплёт
размеры
242x180x62 мм
цвет
Зелёный
тип бумаги
офсетная (60-220 г/м2)
наличие иллюстраций
рисунки
тип иллюстраций
черно-белые
формат
70x100/16 (170x240 мм)
ISBN
978-5-6044568-1-1
тираж
500 экз.
стандарт
возрастная категория
18+ (нет данных)
вес
код в Майшоп
4294065
язык
русский

Содержание

Предисловие
Глава 1. Введение в компьютерную технику и C++
1.1. Введение
1.2. Компьютер: аппаратное и программное
обеспечение
1.3. Иерархия данных
1.4. Организация компьютера
1.5. Машинные языки, языки ассемблера и языки
высокого уровня
1.6. Введение в объектную технологию
1.7. Операционные системы
1.8. Языки программирования
1.9. C++ и типичная среда разработки
1.10. Тестирование C++ приложений
1.11. Программные технологии
1.12. Будущее C++. Новые стандарты
1.13. Информационные ресурсы Web
1.14. Заключение
Глава 2. Введение в программирование на C++
2.1. Введение
2.2. Первая программа на C++: печать строки
текста
2.3. Модификация нашей первой программы
2.4. Другая программа на C++: сложение целых
чисел
2.5. Организация памяти
2.6. Арифметика
2.7. Принятие решений: операции равенства и
отношений
2.8. Заключение
Глава 3. Введение в классы, объекты и строки
3.1. Введение
3.2. Определение класса с элемент-функцией
3.3. Определение элемент-функции с параметром
3.4. Элементы данных, set-функции и get-функции
3.5. Инициализация объектов при помощи
конструкторов
3.6. Размещение класса в отдельном файле
3.7. Отделение интерфейса от реализации
3.8. Проверка данных посредством set-функций
3.9. Заключение
Глава 4. Управляющие операторы: часть 1
4.1. Введение
4.2. Алгоритмы
4.3. Псевдокод
4.4. Управляющие структуры
4.5. Оператор выбора if.
4.6. Оператор выбора if...else
4.7. Оператор повторения while
4.8. Формулирование алгоритмов: повторение,
управляемое счетчиком
4.9. Формулирование алгоритмов: повторение,
управляемое
контрольным значением
4.10. Формулирование алгоритмов: вложенные
управляющие операторы
4.11. Операции присваивания
4.12. Операции инкремента и декремента
4.13. Заключение
Глава 5. Управляющие операторы: часть II
5.1. Введение
5.2. Основы повторения, управляемого счетчиком
5.3. Оператор повторения for
5.4. Примеры операторов for
5.5. Оператор повторения do...while
5.6. Оператор множественного выбора switch
5.7. Операторы break и continue
5.8. Логические операции
5.9. Случайная подмена операции равенства (=)
присваиванием (=)
5.10. Структурное программирование: резюме
5.11. Заключение
Глава 6. Функции и введение в рекурсию
6.1. Введение
6.2. Компоненты программ на C++ *
6.3. Функции математической библиотеки
6.4. Определения функций с несколькими
параметрами
6.5. Прототипы функций и принудительное
приведение аргументов
6.6. Заголовочные файлы стандартной библиотеки
C++
6.7. Пример: генерация случайных чисел
6.8. Пример: азартная игра с использованием
перечисления (епшп)
6.9. Классы памяти
6.10. Правила для области действия
6.11. Стек вызовов и активационные записи
6.12. Функции с пустым списком параметров
6.13. Встроенные функции
6.14. Ссылки и ссылочные параметры
6.15. Аргументы по умолчанию
6.16. Унарная операция разрешения области
действия
6.17. Перегрузка функций
6.18. Шаблоны функций
6.19. Рекурсия
6.20. Пример рекурсии: числа Фибоначчи
6.21. Рекурсия в сравнении с итерацией
6.22. Заключение
Глава 7, Массивы и векторы
7.1. Введение
7.2. Массивы
7.3. Объявление массивов
7.4. Примеры с массивами
7.4.1. Объявление массива и его инициализация с
применением цикла
7.4.2. Инициализация массива в объявлении с
применением списка инициализаторов..
7.4.3. Спецификация размера массива с помощью
константной переменной
и установка его элементов вычисляемыми
значениями
7.4.4. Суммирование элементов массива
7.4.5. Создание столбчатых диаграмм для
графического представления данных
7.4.6. Элементы массива в качестве счетчиков
7.4.7. Применение массивов для анализа
результатов опроса
7.4.8. Статические и автоматические локальные
массивы
7.5. Передача массивов функциям
7.6. Пример: класс GradeBook с массивом для
хранения оценок
7.7. Линейный поиск в массивах
7.8. Сортировка массивов вставкой
7.9. Многомерные массивы
7.10. Пример: класс GradeBook с двумерным
массивом
7.11. Введение в шаблон класса vector стандартной
библиотеки C++
7.12. Заключение
Глава 8. Указатели
8.1. Введение
8.2. Объявление и инициализация переменных-
указателей
8.3. Операции с применением указателей
8.4. Передача аргументов по ссылке с помощью
указателей
8.5. Квалификатор const в применении к
указателям
8.6. Сортировка выборкой с передачей по ссылке
8.7. Операции sizeof
8.8. Выражения с указателями и арифметика
указателей
8.9. Взаимосвязь указателей и массивов
8.10. Введение в обработку строк-указателей
8.11. Массивы указателей
8.12. Указатели на функцию
8.13. Заключение
Глава 9. Классы: часть I
9.1. Введение
9.2. Пример: класс Time
9.3. Область действия класса и доступ к элементам
класса
9.4. Отделение интерфейса от реализации
9.5. Функции доступа и сервисные функции
9.6. Пример: класс Time. Конструкторы с
аргументами по умолчанию
9.7. Деструкторы
9.8. Когда вызываются конструкторы и
деструкторы
9.9. Пример: класс Time. Скрытая ошибка -
возвращение ссылки на закрытый
элемент данных
9.10. Поэлементное присваивание по умолчанию
9.11. Заключение
Глава 10. Классы: часть II
10.1. Введение
10.2. Константные объекты и константные
элемент-функции
10.3. Композиция: объекты в качестве элементов
класса
10.4. Дружественные функции и дружественные
классы
10.5. Указатель this
10.6. Статические элементы класса
10.7. Классы-посредники
10.8. Заключение
Глава 11. Перегрузка операторов; класс string
11.1. Введение
11.2. Применение перегрузки операторов в классе
string из STL
11.3. Основы перегрузки операций
11.4. Перегрузка двухместных операций
11.5. Перегрузка операций передачи в поток и
извлечения из потока
11.6. Перегрузка одноместных операций
11.7. Перегрузка ++ и -
11.8. Пример: класс Date
11.9. Динамическое управление памятью
11.10. Пример: класс Array
11.10.1. Применение класса Array
11.10.2. Определение класса Array
11.11. Функции-операции как элементы класса и
как глобальные функции
11.12. Преобразование типов
11.13. explicit-конструкторы
11.14. Пример: класс String
11.15. Заключение
Глава 12. Объектно-ориентированное
программирование:
наследование
12.1. Введение
12.2. Базовые и производные классы
12.3. Защищенные элементы
12.4. Отношения между базовыми и производными
классами
12.4.1. Создание и тестирование класса
CommissionEmployee
12.4.2. Создание класса
BasePlusCommissionEmployee без наследования
12.4.3. Создание иерархии наследования
CommissionEmployee -
BasePlusCommissionEmployee
12.4.4. Иерархия наследования CommissionEmployee
- BasePlusCommissionEmployee
с защищенными данными
12.4.5. Иерархия наследования CommissionEmployee
- BasePlusCommissionEmployee
с закрытыми данными
12.5. Конструкторы и деструкторы в производных
классах
12.6. Открытое, защищенное и закрытое
наследование
12.7. Наследование в конструировании
программного обеспечения
12.8. Заключение
Глава 13. Объектно-ориентированное
программирование:
полиморфизм
13.1. Введение
13.2. Примеры полиморфизма: полиморфная
видеоигра
13.3. Отношения между объектами в иерархии
наследования
13.3.1. Вызов функций базового класса из
объектов производного класса
13.3.2. Установка указателей производного класса
на объекты базового класса
13.3.3. Вызов элемент-функций производного
класса через указатели базового класса..
13.3.4. Виртуальные функции
13.4. Поля типа и операторы switch
13.5. Абстрактные классы и чисто виртуальные
функции
13.6. Пример. Система начисления заработной
платы,
использующая полиморфизм
13.6.1. Создание абстрактного базового класса
Employee
13.6.2. Создание конкретного производного класса
SalariedEmployee
13.6.3. Создание конкретного производного класса
CommissionEmployee
13.6.4. Создание косвенного конкретного
производного класса
BasePlusCommissionEmployee
13.6.5. Демонстрация полиморфной обработки
13.7. (Дополнительный раздел.) Техническая
сторона полиморфизма,
виртуальных функций и динамического связывания
13.8. Пример. Система начисления заработной
платы, использующая
полиморфизм и информацию о типе времени
выполнения с нисходящими приведениями типа,
dynamiccast, typeid и type info
13.9. Виртуальные деструкторы
13.10. Заключение
Глава 14. Шаблоны
14.1. Введение
14.2. Шаблоны функций
14.3. Перегрузка шаблонов функции
14.4. Шаблоны классов
14.5. Не-типовые параметры и типы по умолчанию
для шаблонов класса
14.6. Заключение
Глава 15. Потоковый ввод/вывод i
15.1. Введение
15.2. Потоки
15.2.1. Классические и стандартные потоки
15.2.2. Заголовочные файлы библиотеки iostream
15.2.3. Классы и объекты потокового
ввода/вывода
15.3. Потоковый вывод
15.3 Л. Вывод переменных типа char *
15.3.2. Вывод символов с помощью элемент-
функции put
15.4. Потоковый ввод
15.4.1. Элемент-функции get и getline
15.4.2. Элемент-функции peek, putback и ignore
класса istream
15.4.3. Безопасный по типу ввод/вывод
15.5. Бесформатный ввод/вывод с помощью read,
gcount и write.
15.6. Введение в манипуляторы потоков
15.6.1. Основание целых чисел: dec, oct, hex и
setbase
15.6.2. Точность чисел с плавающей точкой
(precision, setprecision)
15.6.3. Ширина поля (setw, width)
15.6.4. Определяемые пользователем
манипуляторы выходного потока
15.7. Состояния формата потока и потоковые
манипуляторы
15.7.1. Конечные нули и десятичные точки
(showpoint)
15.7.2. Выравнивание (left, right, internal)
15.7.3. Заполнение (fill, setfill)
15.7.4. Основание целых чисел (dec, oct, hex,
showbase)
15.7.5. Числа с плавающей точкой: научная и
фиксированная нотация (scientific, fixed)
15.7.6. Управление верхним/нижним регистрами
(uppercase)
15.7.7. Спецификация булева формата (boolalpha)
15.7.8. Установка и сброс состояний формата с
помощью элемент-функции flags
15.8. Состояния ошибки потоков
15.9. Привязка потока вывода к потоку ввода
15.10. Заключение
Глава 16. Управление исключениями
16.1. Введение
16.2. Пример: обработка попытки деления на ноль
16.3. Когда следует применять управление
исключениями
16.4. Перебрасывание исключений
16.5. Спецификации исключений
16.6. Обработка непредусмотренных исключений
16.7. Разматывание стека
16.8. Конструкторы, деструкторы и управление
исключениями
16.9. Исключения и наследование
16.10. Обработка отказов операции new
16.11. Класс unique_ptr и динамическое выделение
памяти
16.12. Иерархия исключений стандартной
библиотеки
16.13. Заключение
Глава 17. Обработка файлов
17.1. Введение
17.2. Файлы и потоки
17.3. Создание последовательного файла
17.4. Чтение данных из последовательного файла
17.5. Обновление последовательных файлов
17.6. Файлы произвольного доступа
17.7. Создание файла произвольного доступа
17.8. Произвольная запись данных в файл
произвольного доступа
17.9. Последовательное чтение из файла
произвольного доступа
17.10. Пример. Программа обработки транзакций
17.11. Ввод/вывод объектов
17.12. Заключение
Глава 18. Класс string и обработка строковых
потоков
18.1. Введение
18.2. Присваивание и конкатенация строк
18.3. Сравнение строк
18.4. Подстроки
18.5. Обмен и перестановка в строках
18.6. Характеристики строки
18.7. Поиск в строке подстрок и символов
18.8. Замена символов в строке
18.9. Вставка символов в строку
18.10. Преобразование в строки-указатели С типа
char *
18.11. Итераторы
18.12. Обработка строковых потоков
18.13. Заключение
Глава 19. Поиск и сортировка
19.1. Введение
19.2. Алгоритмы поиска
19.2.1. Эффективность линейного поиска
19.2.2. Двоичный поиск
19.3. Алгоритмы сортировки
19.3.1. Эффективность сортировки выборкой
19.3.2. Эффективность сортировки вставкой
19.3.3. Сортировка слиянием (рекурсивная
реализация)
19.4. Заключение
Глава 20. Шаблонизированные структуры данных :
20.1. Введение
20.2. Автореферентные классы
20.3. Динамическое распределение памяти и
структуры данных
20.4. Связанные списки
20.5. Стеки *
20.6. Очереди
20.7. Деревья
20.8. Заключение
Глава 21. Биты, символы, строки С и структуры
21.1. Введение
21.2. Определение структур
21.3. typedef
21.4. Пример. Моделирование тасования и сдачи
карт
21.5. Поразрядные операции
21.6. Битовые поля
21.7. Библиотека обработки символов
21.8. Функции манипуляции строками-указателями
21.9. Функции преобразования строк-указателей
21.10. Функции поиска из библиотеки обработки
строк-указателей
21.11. Функции управления памятью из библиотеки
обработки строк-указателей
21.12. Заключение
Глава 22. Библиотека стандартных шаблонов (STL)
I
22.1. Введение в Библиотеку стандартных
шаблонов (STL)
22.5. Контейнеры последовательностей
22.5.1. Контейнер последовательности vector
22.5.2. Контейнер последовательности list
22.5.3. Контейнер последовательности deque
22.6. Ассоциативные контейнеры
22.6.1. Ассоциативный контейнер multiset
22.6.2. Ассоциативный контейнер set.
22.6.3. Ассоциативный контейнер multimap
22.6.4. Ассоциативный контейнер тар
22.7. Адаптеры контейнеров
22.7.1. Адаптер stack
22.7.2. Адаптер queue
22.7.3. Адаптер priority_queue
22.8. Алгоритмы
22.8.1. Алгоритмы fill, fill_n, generate и generate_n.
22.8.2. Алгоритмы equal, mismatch и
lexicographical_compare
22.8.3. Алгоритмы remove, remove__if, remove_copy
и remove_copy_if.
22.8.4. Алгоритмы replace, replace_if, replace_copy и
replace_copy_if
22.8.5. Математические алгоритмы
22.8.6. Элементарные алгоритмы поиска и
сортировки
22.8.7. Алгоритмы swap, iter_swap и swap_ranges
22.8.8. Алгоритмы copy_backward, merge, unique и
reverse
22.8.9. Алгоритмы inplace_merge, unique_copy и
reverse_copy
22.8.10. Операции над множествами
22.8.И. Алгоритмы lower_bound, upper_bound и
equal_range
22.8.12. Кучевая сортировка
22.8.13. Алгоритмы min и max
22.8.14. Алгоритмы STL, не представленные в этой
главе
22.9. Класс bitset
22.10. Функциональные объекты
22.11. Заключение
Глава 23. Библиотеки Boost и стандарты C++
23.1. Введение
23.2. Материалы Deitel Online C++ и другие
источники
23.3. Библиотеки Boost
23.4. Обзор библиотек Boost
23.5. Обработка регулярных выражений
библиотекой regex
23.5.1. Пример регулярного выражения
23.5.2. Проверка данных о пользователе при
помощи регулярных выражений
23.5.2. Подстановка и разбиение строк
23.6. Интеллектуальные указатели
23.6.1. Счетные ссылки на базе shared_ptr
23.6.2. weak_ptr: обозреватель shared_ptr
23.7. Изменения в стандарте: С++0х и С++1у и С
++2а
23.8. Изменения в базисе языка
23.9. Заключение
Глава 24. Специальные вопросы
24.1. Введение
24.2. Операция const cast
24.3. Элементы класса со спецификатором mutable
24.4. Пространства имен
24.5. Ключевые слова для операций
24.6. Указатели на элементы класса (.* и ->*)
24.7. Сложное наследование
24.8. Сложное наследование и виртуальные
базовые классы
24.9. Заключение
Приложение А. Таблицы старшинства и
ассоциативности операций
Приложение Б. Набор символов ASCII
Приложение В. Основные типы
Приложение Г. Системы счисления
Г.1. Введение
Г.2. Запись чисел в восьмеричной и
шестнадцатеричной нотациях
Г.З. Преобразование восьмеричной и
шестнадцатеричной записи
в двоичный вид
Г.4. Преобразование двоичной, восьмеричной и
шестнадцатеричной записи
в десятичный вид
Г.5. Преобразование десятичной записи в
двоичный, восьмеричный
и шестнадцатеричный вид
Г.6. Отрицательные двоичные числа:
дополнительный код
Приложение Д. Препроцессор
Д.1. Введение
Д.2. Директива препроцессора #include
Д.З. Директива #define: символические константы
Д.4. Директива #define: макросы
Д.5. Условная компиляция
Д.6. Директивы #еггог и #pragma
Д.7. Операции # и ##
Д.8. Предопределенные символические константы
Д.9. Макрос подтверждения
Д.10. Заключение

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «Как программировать на С++» (авторы: Дейтел Харви, Дейтел Пол Дж.), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта