Книга влючает в себя полный набор сведений о языке С++, необходимых для успешного анализа и составления эффективных программных кодов. Материал излагается последовательно и дополняется большим количеством примеров, практических задач и детальным разбором их решений. К каждому разделу прилагается обширный список задач для самостоятельного решения.
Оглавление:
Вступление. О книге и языке С++ . . . . . . . . . . . . . . . . . . . . . . 7
Собственно о книге . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Язык программирования С++ . . . . . . . . . . . . . . . . . . . . . . 8
Среда разработки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Об авторе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Обратная связь . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Файлы для скачивания . . . . . . . . . . . . . . . . . . . . . . . . . 10
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Глава 1. Простые программы . . . . . . . . . . . . . . . . . . . . . . . . 11
Первая программа . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Знакомство с переменными . . . . . . . . . . . . . . . . . . . . . . . 16
Знакомство с функциями . . . . . . . . . . . . . . . . . . . . . . . . 23
Знакомство с оператором цикла . . . . . . . . . . . . . . . . . . . . 26
Знакомство с условным оператором . . . . . . . . . . . . . . . . . 30
Знакомство с массивами . . . . . . . . . . . . . . . . . . . . . . . . . 32
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . 34
Глава 2. Управляющие инструкции . . . . . . . . . . . . . . . . . . . . 37
Оператор цикла for . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Оператор цикла do-while . . . . . . . . . . . . . . . . . . . . . . . . 43
Оператор выбора switch . . . . . . . . . . . . . . . . . . . . . . . . . 45
Вложенные условные операторы . . . . . . . . . . . . . . . . . . . 52
Вложенные операторы цикла . . . . . . . . . . . . . . . . . . . . . . 54
Цикл по коллекции . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Генерирование и перехват исключений . . . . . . . . . . . . . . . . 61
Инструкция безусловного перехода . . . . . . . . . . . . . . . . . 66
Задачи для самостоятельного решения . . . . . . . . . . . . . . . . 68
Глава 3. Указатели, массивы и ссылки . . . . . . . . . . . . . . . . . . 70
Знакомство с указателями . . . . . . . . . . . . . . . . . . . . . . . 70
Массивы и указатели . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Знакомство со ссылками . . . . . . . . . . . . . . . . . . . . . . . . 77
Динамическое выделение памяти . . . . . . . . . . . . . . . . . . . 79
Особенности символьных массивов . . . . . . . . . . . . . . . . . . 83
Двумерные массивы . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Массивы указателей . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Задачи для самостоятельного решения . . . . . . . . . . . . . . . 101
Глава 4. Функции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Объявление и описание функции . . . . . . . . . . . . . . . . . . 104
Перегрузка функций . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Значения аргументов по умолчанию . . . . . . . . . . . . . . . . 113
Рекурсия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Механизмы передачи аргументов функциям . . . . . . . . . . . 119
Передача указателя аргументом функции . . . . . . . . . . . . . 123
Передача массива аргументом функции . . . . . . . . . . . . . . 125
Передача текста в функцию . . . . . . . . . . . . . . . . . . . . . . 132
Указатель как результат функции . . . . . . . . . . . . . . . . . . 135
Ссылка как результат функции . . . . . . . . . . . . . . . . . . . 139
Динамический массив как результат функции . . . . . . . . . . 142
Указатель на функцию . . . . . . . . . . . . . . . . . . . . . . . . . 148
Задачи для самостоятельного решения . . . . . . . . . . . . . . . 154
Глава 5. Классы и объекты . . . . . . . . . . . . . . . . . . . . . . . . . 158
Знакомство с классами и объектами . . . . . . . . . . . . . . . . 158
Открытые и закрытые члены класса . . . . . . . . . . . . . . . . 163
Перегрузка методов . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Знакомство с конструкторами и деструкторами . . . . . . . . . 172
Принципы перегрузки операторов . . . . . . . . . . . . . . . . . 180
Знакомство с наследованием . . . . . . . . . . . . . . . . . . . . . 191
Задачи для самостоятельного решения . . . . . . . . . . . . . . . 198
Рекомендации для самостоятельной работы . . . . . . . . . . . 200
Глава 6. Использование классов и объектов . . . . . . . . . . . . . . 201
Указатель на объект . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Создание массива объектов . . . . . . . . . . . . . . . . . . . . . . 210
Массив как поле класса . . . . . . . . . . . . . . . . . . . . . . . . 214
Функторы и индексация объектов . . . . . . . . . . . . . . . . . 219
Конструктор создания копии . . . . . . . . . . . . . . . . . . . . . 223
Наследование и закрытые поля базового класса . . . . . . . . . 228
Виртуальные методы и наследование . . . . . . . . . . . . . . . . 231
Множественное наследование . . . . . . . . . . . . . . . . . . . . 235
Доступ к объектам через переменную базового класса . . . . . 238
Задачи для самостоятельного решения . . . . . . . . . . . . . . . 242
Рекомендации для самостоятельной работы . . . . . . . . . . . 243
Глава 7. Обобщенные функции и классы . . . . . . . . . . . . . . . . 244
Обобщенные функции . . . . . . . . . . . . . . . . . . . . . . . . . 244
Обобщенная функция с несколькими параметрами . . . . . . . 249
Перегрузка обобщенной функции . . . . . . . . . . . . . . . . . . 252
Явная специализация обобщенной функции . . . . . . . . . . . 254
Обобщенные классы . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Явная специализация обобщенного класса . . . . . . . . . . . . 260
Значения параметров по умолчанию . . . . . . . . . . . . . . . . 265
Наследование обобщенных классов . . . . . . . . . . . . . . . . . 267
Целочисленные обобщенные параметры . . . . . . . . . . . . . . 273
Рекомендации для самостоятельной работы . . . . . . . . . . . 284
Глава 8. Разные задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Знакомство со структурами . . . . . . . . . . . . . . . . . . . . . . 286
Обобщенные структуры . . . . . . . . . . . . . . . . . . . . . . . . 290
Работа с комплексными числами . . . . . . . . . . . . . . . . . . 292
Класс для реализации числовых массивов . . . . . . . . . . . . 296
Контейнер для динамического массива . . . . . . . . . . . . . . 307
Контейнерный класс для реализации множества . . . . . . . . 314
Ассоциативный контейнер . . . . . . . . . . . . . . . . . . . . . . 317
Обработка ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Знакомство с многопоточным программированием . . . . . . . 323
Рекомендации для самостоятельной работы . . . . . . . . . . . 329
Глава 9. Математические задачи . . . . . . . . . . . . . . . . . . . . . 330
Метод последовательных приближений . . . . . . . . . . . . . . 330
Метод половинного деления . . . . . . . . . . . . . . . . . . . . . 334
Метод касательных . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Интерполяционный полином Лагранжа . . . . . . . . . . . . . . 342
Интерполяционный полином Ньютона . . . . . . . . . . . . . . 346
Вычисление интеграла методом Симпсона . . . . . . . . . . . . 351
Вычисление интегралов методом Монте-Карло . . . . . . . . . 353
Решение дифференциального уравнения методом
Эйлера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Решение дифференциального уравнения методом
Рунге — Кутты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Заключительные замечания . . . . . . . . . . . . . . . . . . . . . 362
Заключение. Полезные советы . . . . . . . . . . . . . . . . . . . . . . 363
Предметный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Нет отзывов о данном товаре, станьте первым, оставьте свой отзыв.
Нет вопросов о данном товаре, станьте первым и задайте свой вопрос.
Мы доставляем заказы по всей территории страны.
Сроки доставки заказа зависят от наличия товаров на складе. Если в момент оформления заказа все выбранные товары есть в наличии, то мы доставим заказ в течение 1 – 2 недель, в зависимости от удаленности Вашего региона. Если заказываемый товар отсутствует на складе, то максимальный срок доставки заказа может составить 8 недель. Но мы стараемся доставлять заказы клиентам как можно быстрее, и 90% заказов клиентов отправляются в течение первых 3 недель. В случае, если часть товаров из Вашего заказа через 3 недели не поступила на склад, мы отправим все имеющиеся в наличии товары, а затем за наш счет дошлем Вам оставшуюся часть заказа.
Способы оплаты:
- Оплата при получении
- Онлайн-оплата картой
- Оплата в терминале
- Безналичный расчет
Интернет-магазин – сайт имеющий адрес в сети Интернет. Товар – продукция, представленная к продаже в интернет-магазине. Клиент – разместившее Заказ физическое или юридическое лицо. Заказ – оформленный должным образом запрос Клиента на покупку Товара. Транспортная компания – третье лицо, оказывающее услуги по доставке Товаров Клиента
"Укрпочтой" по Украине в отделения или курьером на адрес — от 40 грн, срок доставки - до 7 дней.
- Наложенный платеж
- Онлайн-оплата (Visa/MasterCard)
- Оплата переводом на банковский счет
- Гарантии от производителя
- Возврат и обмен товара согласно норм действующего законодательства
