Математика

Физика

Химия

Биология

Техника и    технологии

Как программировать на C++-Харви Дейтел М.: ЗАО «Издательство БИНОМ», 1998 г. - 1024 с.: ил.
Харви Дейтел, Пол Дейтел
Как программировать на C++: Пер. с англ. — М.: ЗАО «Издательство БИНОМ», 1998 г. - 1024 с.: ил.
Книга предлагает полный курс изучения наиболее популярного и перспективного языка программирования — C++ и рассчитана как на начинающих, не владеющих никаким языком программирования, так и на опытных пользователей. Для начинающих — это полноценный курс, в котором изучается все, начиная с устройства компьютера и кончая новейшими достижениями C++: шаблонами функций и классов, обработкой исключений и т.п. Опытный программист может пропустить часть известного ему материала, но получит множество полезных сведений в остальных частях книги. Особое внимание авторы уделяют современным методикам разработки программного обеспечения: наследованию, полиморфизму, объектно-ориентированному проектированию и объектно-ориентированному программированию, не забывая и о классическом структурном программировании. Приведено множество полезных советов.
Книга рассчитана на широкий круг читателей, от начинающих осваивать азы программирования до опытных разработчиков.
Содержание
Предисловие.............................. 15
Введение в объектное ориентирование начинается с главы 1! ... 16
Об этой книге.......................... 16
Обзор книги .......................... 21
Глава 1. Введение в компьютеры и программирование на C++ .... 31
1.1. Введение......................... 32
1.2. Что такое компьютер?................... 35
1.3. Организация компьютера................. 36
1.4. Эволюция операционных систем.............. 37
1.5. Персональные вычисления, распределенные вычисления
и вычисления на платформе клиент/сервер.......... 38
1.6. Машинные языки, языки ассемблера и языки высокого уровня.......................... 38
1.7. История C++....................... 40
1.8. Библиотеки классов C++ и стандартная библиотека С ... 41
1.9. Параллельный C++.................... 42
1.10. Другие языки высокого уровня .............. 43
1.11. Структурное программирование .............. 43
1.12. Общее описание типичной среды программирования
на C++.......................... 44
1.13. Общие замечания о C++ и об этой книге.......... 47
1.14. Введение ъ программирование на C++........... 48
1.15. Простая программа: печать строки текста......... 48
1.16. Другая простая программа: сложение двух целых чисел . . 52
1.17. Концепции памяти.................... 56
1.18. Арифметика........................ 57
1.19. Принятие решений: операции проверки
на равенство и отношения................. 61
1.20. Размышления об объектах................. 65
Резюме • Терминология • Типичные ошибки программирования • Хороший стиль программирования • Советы по повышению эффективности • Замечания по мобильности • Замечания по технике программирования • Упражнения для самопроверки • Ответы на упражнения для самопроверки • Упражнения
Глава 2. Управляющие структуры...................87
2.1. Введение......................... 89
2.2. Алгоритмы........................ 89
2.3. Псевдокод......................... 89
2.4. Управляющие структуры.................. 90
2.5. Структура выбора if (ЕСЛИ)................ 93
2.6. Структура выбора if/else (ЕСЛИ-ИНАЧЕ).......... 95
2.7. Структура повторения while (ПОКА)............ 99
2.8. Разработка алгоритмов: учебный пример 1 (повторение, управляемое счетчиком).................. 100
2.9. Нисходящая разработка алгоритмов с пошаговой детализацией: учебный пример 2 (повторение,
управляемое меткой) ...................102
2.10. Нисходящая разработка алгоритмов с пошаговой детализацией: учебный пример 3 (вложенные
управляющие структуры).................109
2.11. Операции присваивания..................114
2.12. Операции инкремента и декремента............115
2.13. Основы повторения, управляемого счетчиком........117
2.14. Структура повторения for (ЦИКЛ).............120
2.15. Пример использования структуры for ...........124
2.16. Структура множественного выбора switch..........128
2.17. Структура повторения do/while...............134
2.18. Операторы break и continue................136
2.19. Логические операции...................138
2.20. Ошибки случайной подмены операций проверки
равенства (==) и присваивания (=).............140
2.21. Заключение по структурному программированию......143
2.22. Размышления об объектах: идентификация объектов
задачи ..........................148
Резюме • Терминология • Типичные ошибки программирования • Хороший стиль программирования • Советы, по повышению эффективности • Замечания по мобильности • Замечания по технике программирования • Упражнения для самопроверки • Ответы на упражнения для самопроверки • Упражнения
Глава 3. Функции . ..........................177
3.1. Введение.........................178
3.2. Программные модули в C++................179
3.3. Математические библиотечные функции..........180
3.4. Функции.........................181
3.5. Определения функций...................182
3.6. Прототипы функций....................187
3.7. Заголовочные файлы....................189
3.8. Генерация случайных чисел................189
3.9. Пример: азартная игра ..................195
3.10. Классы памяти......................198
3.11. Правила, определяющие область действия.........201
3.12. Рекурсия.........................205
3.13. Пример использования рекурсии: последовательность
чисел Фибоначчи.....................208
3.14. Рекурсии или итерации..................211
3.15. Функции с пустыми списками параметров.........213
3.16. Встраиваемые функции.................. 214
3.17. Ссылки и ссылочные параметры..............216
3.18. Аргументы по умолчанию.................219
3.19. Унарная операция разрешения области действия......221
3.20. Перегрузка функций....................222
3.21. Шаблоны функции ....................223
3.22. Размышления об объектах: идентификация атрибутов объектов.........................226
Резюме • Терминология • Типичные ошибки программирования • Хороший стиль программирования • Советы по повышению эффективности • Замечания по мобильности • Замечания по технике программирования • Упражнения для самопроверки • Ответы на упражнения для самопроверки • Упражнения
Глава 4. Массивы...........................259
4.1. Введение.........................260
4.2. Массивы .........................261
4.3. Объявление массивов ...................263
4.4. Примеры использования массивов.............263
4.5. Передача массивов в функции...............276
4.6. Сортировка массивов....................280
4.7. Учебный пример: вычисление среднего значения,
медианы и моды с использованием массивов........282
4.8. Поиск в массивах: линейный поиск и двоичный поиск . . . 285
4.9. Многомерные массивы...................290
4.10. Размышления об объектах: идентификация поведений объектов .........................297
Резюме • Терминология • Типичные ошибки программирования • Хороший стиль программирования • Советы по повышению эффективности • Замечания по мобильности • Замечания по технике программирования • Упражнения для самопроверки • Ответы на упражнения для самопроверки • Упражнения • Упражнения на рекурсию
Глава 5. Указатели и строки......................321
5.1. Введение.........................322
5.2. Объявления и инициализация переменных указателей . . . 323
5.3. Операции над указателями.................324
5.4. Вызов функций по ссылке.................326
5.5. Использование спецификатора const с указателями.....330
5.6. Пузырьковая сортировка, использующая вызов
по ссылке.........................336
5.7. Выражения и арифметические действия с указателями . . .340
5.8. Взаимосвязи между указателями и массивами.......344
5.9. Массивы указателей....................348
5.10. Учебный пример: моделирование тасования и раздачи
карт...........................349
5.11. Указатели на функции...................354
5.12. Введение в обработку символов и строк..........358
5.13. Размышления об объектах: взаимодействие объектов .... 367
Резюме • Терминология • Типичные ошибки программирования • Хороший стиль программирования • Советы по повышению эффективности • Замечания по мобильности • Замечания по технике программирования • Упражнения для самопроверки • Ответы на упражнения для самопроверки • Упражнения • Специальный раздел: построение вашего собственного компьютера • Дополнительные упражнения на указатели • Упражнения на работу со строками • Специальный раздел: упражнения повышенной сложности на работу со строками • Головоломный проект работы со строками
Глава в. Классы и абстрагирование данных..............405
6.1. Введение.........................406
6.2. Определения структур...................408
6.3. Доступ к элементам структуры...............408
6.4. Использование определенного пользователем типа Time
с помощью Struct.....................409
6.5. Использование абстрактного типа данных Time
с помощью класса.....................411
6.6. Область действия класс и доступ к элементам класса .... 418
6.7. Отделение интерфейса от реализации............419
6.8. Управление доступом к элементам.............423
6.9. Функции доступа и обслуживающие функции-утилиты . . . 426
6.10. Инициализация объектов класса: конструкторы.......429
6.11. Использование конструкторов с аргументами
по умолчанию.......................429
6.12. Использование деструкторов................433
6.13. Когда вызываются конструкторы и деструкторы......433
6.14. Использование данных-элементов и функций-элементов . . . 436
6.15. Тонкий момент: возвращение ссылки на закрытые данные-элементы .....................441
6.16. Присваивание побитовым копированием по умолчанию . . . 443
6.17. Повторное использование программного обеспечения .... 445
6.18. Размышления об объектах: программирование классов
для моделирования лифта.................445
Резюме • Терминология • Типичные ошибки программировани • Хороший стиль программирования • Советы по повышению эффективности • Замечания по технике программирования • Упражнения для самопроверки • Ответы на упражнения для самопроверки • Упражнения
Глава 7. Классы: часть II....................., . 459
7.3. Композиция: классы как элементы других классов.....467
7.4. Дружественные функции и дружественные классы.....471
7.5. Использование указателя this...............474
7.6. Динамическое распределение памяти с помощью
операций new и delete...................479
7.7. Статические элементы класса...............480
7.8. Абстракция данных и скрытие информации........485
7.9. Классы контейнеры и итераторы..............489
7.10. Размышления об объектах: использование композиции
и динамического управления объектом в модели лифта . . . 489
Резюме • Терминология • Типичные ошибки программирования • Хороший стиль программирования • Советы по повышению эффективности • Замечания по технике программирования • Упражнения для самопроверки • Ответы на упражнения для самопроверки • Упражнения
Глава 8. Перегрузка операций.....................497
8.1. Введение.................. . ...... 498
8.2. Основы перегрузки операций................ 499
8.3. Ограничения на перегрузку операции........... 501
8.4. Функции-операции как элементы класса и как дружественные функции.................. 502
8.5. Перегрузка операций поместить в поток и взять
из потока.........................504
8.6. Перегрузка унарных операций...............506
8.7. Перегрузка бинарных операций..............507
8.8. Учебный пример: класс массив...............508
8.9. Преобразования типов...................519
8.10. Учебный пример: класс строка...............520
8.11. Перегрузка ++ и --....................531
8.12. Учебный пример: класс дата................532
Резюме • Терминология • Типичные ошибки программирования • Хороший стиль программирования • Советы по повышению эффективности • Замечания по технике программирования • Упражнения для самопроверки • Ответы на упражнения для самопроверки • Упражнения
Глава 9. Наследование.........................551
9.1. Введение.........................552
9.2. Базовые классы и производные классы...........554
9.3. Защищенные элементы..................556
9.4. Приведение типов указателей базовых классов
к указателям производных классов............556
9.5. Использование функций-элементов.............562
9.6. Переопределение элементов базового класса
в производном классе................... 562
9.7. Открытые, защищенные и закрытые базовые классы .... 566
9.8. Прямые и косвенные базовые классы ...........568
9.9. Использование конструкторов и деструкторов
в производных классах..................568

Цена: 300руб.

Назад

Заказ

На главную страницу

Hosted by uCoz