Електронний каталог науково-технічної бібліотеки ІФНТУНГ

004.4
Д94          Дэвис, С.
    C++ для "чайников" [Текст] / С. Дэвис. – 5-е изд. – М. : Вильямс, 2005. – 384 с.

   Книга представляет собой введение в язык программирования C++. Основное отличие данной книги от предыдущих изданий C++ для чайников в том, что это издание не требует от читателя каких-либо дополнительных знаний, в то время как предыдущие издания опирались на знание читателем языка программирования С. Несмотря на простоту изложения материала, он подан в книге достаточно строго, так что, изучив основы программирования на C++ с помощью этой книги читатель уже не будет сталкиваться с трудностями при дальнейшем изучении языка. Эта книга не учит программированию для Windows или созданию красивого интерфейса двумя движениями мышью; изложенный в ней материал не привязан к какому-то определенному компилятору или операционной системе. Она вряд ли будет полезна профессиональному программисту, но если ваша цель - глубокое знание языка программирования и вы не знаете, с чего начать, - эта книга для вас. Оглавление Введение 17 Часть 1. Первое знакомство с C++ 23 Глава 1. Написание вашей первой программы 25 Глава 2, Премудрости объявления переменных 41 Глава 3. Выполнение математических операций 50 Глава 4. Выполнение логических операций 55 Глава 5. Операторы управления программой 66 Часть 2. Становимся функциональными программистами 79 Глава 6. Создание функций 81 Глава 7. Хранение последовательностей в массивах 92 Глава 8. Первое знакомство с указателями в C++ 105 Глава 9. Второе знакомство с указателями 117 Глава 10. Отладка программ на C++ 128 Часть 3. Введение в классы 128 Глава 11. Знакомство с объектно-ориентированным программированием 145 Глава 12. Классы в C++ 149 Глава 13. Работа с классами 154 Глава 14. Указатели на объекты 167 Глава 15. Защищенные члены класса: не беспокоить! 181 Глава 16. Создание и удаление объектов 188 Глава 17. Аргументация конструирования 198 Глава 18. Копирующий конструктор 213 Глава 19. Статические члены 224 Часть 4. Наследование 231 Глава 20. Наследование классов 233 Глава 21. Знакомство с виртуальными функциями-членами: настоящие ли они 240 Глава 22. Разложение классов 249 Часть 5. Полезные особенности 269 Глава 23. Оператор присвоения 271 Глава 24. Использование потоков ввода-вывода 277 Глава 25. Обработка ошибок и исключения 290 Глава 26. Множественное наследование 298 Глава 27. Шаблоны C++ 308 Глава 28. Стандартная библиотека шаблонов 317 Часть 6. Великолепная десятка 329 Глава 29. Десять способов избежать ошибок 331 Глава 30. Десять основных возможностей Dev-C++ 336 Глава 31. Программа BUDGET 343 Приложение. Содержимое прилагаемого компакт-диска 379 Предметный указатель 380 Введение 17 Часть 1. Первое знакомство с C++ 23 Глава 1. Написание вашей первой программы 25 Постигая концепции C++ 25 Что такое программа 26 Как пишут программы 26 Инсталляция Dev-C++ 27 Настройка Dev-C++ 30 Создание первой программы 31 Введение кода 32 Построение вашей программы 34 Выполнение программы 36 Dev-C++ - это не Windows 36 Помощь в Dev-C++ 36 Разбор программ 36 Определение структуры программ C++ 37 Использование в исходном коде комментариев 37 Использование инструкций в программах 38 Объявления 38 Генерирование вывода 39 Вычисление выражений 39 Сохранение результатов выражения 39 Обзор программы Convert продолжается... 40 Глава 2. Премудрости объявления переменных 41 Объявление переменных 41 Объявление разных типов переменных 42 Ограничения, налагаемые на целые числа в C++ 43 Округление до целых значений 43 Ограничения диапазона 43 Решение проблемы усечения дробной части 44 Ограничения, налагаемые на числа с плавающей точкой 44 Перечисление 44 Скорость вычислений 45 Потеря точности 45 Ограниченность диапазона 45 Объявления типов переменных 45 Константы 47 Специальные символы 47 Логические выражения 48 Выражения смешанного типа 48 Глава 3. Выполнение математических операций 50 Бинарная арифметика 50 Анализ выражений 51 Определение порядка операций 52 Выполнение унарных операций 53 Использование операторов присвоения 54 Глава 4. Выполнение логических операций 55 Зачем нужны логические операторы 55 Использование простых логических операторов 55 Хранение логических значений 57 Использование целых переменных в качестве логических 58 Логические операции и действительные переменные 58 Сокращенные вычисления в C++ 59 Бинарные числа в C++ 60 Десятичная система счисления 60 Другие системы счисления 60 Двоичная система счисления 60 Выполнение побитовых логических операций 62 Побитовые операции с одним битом 62 Использование побитовых операторов 63 Простой пример 64 Практическое применение логических вычислений 65 Глава 5. Операторы управления программой 66 Управление ходом программы с помощью команд ветвления 66 Выполнение циклов 68 Цикл while 68 Использование операторов инкремента и декремента 70 Использование цикла for 71 Избегайте бесконечных циклов 73 Специальные операторы управления циклом 73 Вложенные команды управления 76 Инструкция выбора 77 Часть 2. Становимся функциональными программистами 79 Глава 6. Создание функций 81 Написание и использование функций 81 Определение функции sumSequence () 83 Вызов функции sumSequence () 83 Разделяй и властвуй 83 Подробный анализ функций 84 Простые функции 85 Функции с аргументами 85 Функции с одним аргументом 85 Функции с несколькими аргументами 87 Функция main () 87 Перегрузка функций 88 Определение прототипов функций 89 Хранение переменных в памяти 90 Использование заголовочных файлов 91 Глава 7. Хранение последовательностей в массивах 92 Преимущества массивов 92 Работа с массивами 93 Инициализация массива 96 Выход за границы массива 97 Использовать ли массивы 97 Определение и использование массивов с элементами-массивами 98 Использование символьных массивов 98 Создание строки символов 99 Управление строками 100 Тип string 103 Глава 8. Первое знакомство с указателями в C++ 105 Размер переменной 105 Что такое адрес 106 Адресные операторы 106 Использование указателей 108 Сравнение указателей и почтовых адресов 109 Использование разных типов указателей 109 Передача указателей функциям 111 Передача аргументов по значению 112 Передача значений указателей 112 Передача аргументов по ссылке 113 Использование кучи 113 Область видимости 113 Проблемы области видимости 114 Использование блока памяти 115 Глава 9. Второе знакомство с указателями 117 Операции с указателями 117 Повторное знакомство с массивами в свете указателей 118 Использование операций над указателями для адресации внутри массива 119 Использование указателей для работы со строками 120 Почему при работе со строками пользуются указателями 122 Операции с указателями других типов 122 Отличия между указателями и массивами 122 Объявление и использование массивов указателей 124 Использование массивов строк 124 Доступ к аргументам main () 126 Аргументы в DOS 127 Аргументы в Dev-C++ 127 Аргументы в Windows 127 Глава 10. Отладка программ на C++ 128 Определение типа ошибки 128 Использование отладочной печати 128 Выявление "жучка" № 1 130 Выявление "жучка" № 2 131 Использование отладчика 134 Что такое отладчик 134 Работа с отладчиком 134 Запуск тестовой программы 135 Пошаговое выполнение программы 136 Часть 3. Введение в классы 143 Глава 11. Знакомство с объектно-ориентированным программированием 145 Микроволновые печи и уровни абстракции 145 Приготовление блюд с помощью функций 146 Приготовление "объектно-ориентированных" блюд 146 Классификация микроволновых печей 146 Зачем нужна классификация 147 Глава 12. Классы в C++ 149 Введение в классы 149 Формат класса 149 Обращение к членам класса 150 Глава 13. Работа с классами 154 Активизация объектов 154 Моделирование реальных объектов 155 Зачем нужны функции-члены 155 Добавление функции-члена 156 Создание функции-члена 156 Именование членов класса 157 Вызов функций-членов 157 Обращение к функциям-членам 158 Доступ к членам из функции-члена 159 Разрешение области видимости 161 Определение функции-члена 162 Определение функций-членов вне класса 164 Перегрузка функций-членов 165 Глава 14. Указатели на объекты 167 Определение массивов и указателей 167 Объявление массивов объектов 168 Объявление указателей на объекты 169 Разыменование указателей на объекты 169 Использование стрелок 170 Передача объектов функциям 171 Вызов функции с передачей объекта по значению 171 Вызов функции с передачей указателя 172 Передача объекта по ссылке 173 Зачем использовать указатели и ссылки 174 Возврат к куче 175 Сравнение указателей и ссылок 175 Почему ссылки не используются вместо указателей 175 Использование связанных списков 176 Другие операции над связанным списком 177 Программа LinkedListData 178 Списки в стандартной библиотеке 180 Глава 15. Защищенные члены класса: не беспокоить! 181 Защищенные члены 181 Зачем нужны защищенные члены 181 Как устроены защищенные члены 182 Чем хороши защищенные члены 183 Защита внутреннего устройства класса 183 Классы с ограниченным интерфейсом 184 Обращение к защищенным членам 184 Глава 16. Создание и удаление объектов 188 Создание объектов 188 Использование конструкторов 189 Зачем нужны конструкторы 189 Работа с конструкторами 190 Что такое деструктор 194 Зачем нужен деструктор 194 Работа с деструкторами 194 Глава 17. Аргументация конструирования 198 Как снабдить конструктор аргументами 198 Зачем конструкторам нужны аргументы 198 Как использовать конструктор с аргументами 199 Перегрузка конструктора 200 Определение конструкторов по умолчанию 203 Конструирование членов класса 204 Конструкторы константных членов 208 Управление последовательностью конструирования 208 Локальные объекты создаются последовательно 209 Статические объекты создаются один раз 209 Все глобальные объекты создаются до вызова main () 210 Порядок создания глобальных объектов не определен 210 Члены создаются в порядке их объявления 211 Деструкторы удаляют объекты в порядке, обратном порядку их создания 212 Глава 18. Копирующий конструктор 213 Копирование объекта 213 Зачем нужен копирующий конструктор 213 Использование конструктора копирования 214 Автоматический конструктор копирования 215 "Мелкие" и "глубокие" копии 217 Временные объекты 221 Как избегать временных объектов 222 Аргумент копирующего конструктора 223 Глава 19. Статические члены 224 Определение статических членов 224 Зачем нужны статические члены 224 Использование статических членов 225 Обращение к статическим данным-членам 226 Применение статических данных-членов 227 Объявление статических функций-членов 228 Что такое this 230 Часть 4. Наследование 231 Глава 20. Наследование классов 233 Зачем нужно наследование 234 Как наследуется класс 234 Использование подкласса 236 Конструирование подкласса 237 Деструкция подкласса 238 Отношение СОДЕРЖИТ 238 Глава 21. Знакомство с виртуальными функциями-членами: настоящие ли они 240 Зачем нужен полиморфизм 243 Как работает полиморфизм 245 Когда функция не является виртуальной 246 Виртуальные особенности 247 Глава 22. Разложение классов 249 Разложение 249 Реализация абстрактных классов 253 Концепция абстрактных классов 254 Создание полноценного класса из абстрактного 255 Передача абстрактных классов 257 Нужны ли чисто виртуальные функции 257 Разделение исходного кода C++ 259 Разделение программы - класс Student 260 Определение пространства имен 261 Реализация класса Student 261 Разделение программы - класс GraduateStudent 262 Реализация приложения 263 Файл проекта 264 Создание файла проекта в Dev-C++ 265 Часть 5. Полезные особенности 269 Глава 23. Оператор присвоения 271 Сравнение операторов и функций 271 Потоковые операторы 272 Мелкое копирование - глубокие проблемы 272 Переопределение оператора присвоения 273 Защита от копирования 276 Глава 24. Использование потоков ввода-вывода 277 Как работают потоки ввода-вывода 277 Знакомство с подклассами fstream 278 Прямое чтение из потока 282 Что такое endl 284 Подклассы strstream 285 Работа с манипуляторами 287 Глава 25. Обработка ошибок и исключения 290 Зачем нужен новый механизм обработки ошибок 291 Механизм исключительных ситуаций 293 Так что же мы будем бросать? 295 Глава 26. Множественное наследование 298 Механизм множественного наследования 298 Устранение неоднозначностей множественного наследования 300 Виртуальное наследование 301 Конструирование объектов 306 Отрицательные стороны множественного наследования 306 Глава 27. Шаблоны C++ 308 Обобщение функции в шаблон 309 Шаблоны классов 311 Зачем нужны шаблоны классов 314 Советы по использованию шаблонов 316 Глава 28. Стандартная библиотека шаблонов 317 Контейнер string 317 Контейнер list 320 Итераторы 321 Использование контейнера тар 324 Часть 6. Великолепная десятка 329 Глава 29. Десять способов избежать ошибок 331 Включение всех предупреждений и сообщений об ошибках 331 Добейтесь чистой компиляции 332 Используйте последовательный стиль программирования 332 Ограничивайте видимость 332 Комментируйте свою программу 334 Хотя бы один раз выполните программу пошагово 334 Избегайте перегрузки операторов 334 Работа с кучей 334 Используйте для обработки ошибок исключительные ситуации 335 Избегайте множественного наследования 335 Глава 30. Десять основных возможностей Dev-C++ 336 Настройка редактора по вашему вкусу 336 Подсветка парных скобок 337 Включение обработки исключений 337 Включение отладочной информации 338 Создание файла проекта 338 Настройка справки 338 Переустановка точек останова после редактирования файла 339 Избегайте некорректных имен файлов 339 Включите заголовочные файлы в ваш проект 339 Работа с профайлером 339 Глава 31. Программа BUDGET 343 BUDGET1 343 BUDGET2 348 BUDGET3 355 Реализация модуля со связанным списком 356 Работа со счетами 358 Классы связанных списков 363 Оценка бюджета 365 BUDGET4 366 Реализация связанного списка в виде шаблона класса 366 Исходный код BUDGET4 368 Подведение итогов 373 BUDGET5 373 Использование шаблона класса из STL 373 Создание списка счетов 378 Приложение. Содержимое прилагаемого компакт-диска 379 Предметный указатель 380 Содержание


ISBN 5-8459-0723-3УДК 004.4

            



Примірники
Місце збереження Кількість В наявностi
К/сх - Книгосховище 1 1


Теми документа


Статистика використання: Видач: 1 Завантажень: 0





Український Фондовий Дім Інформаційно-пошукова система
'УФД/Бібліотека'