C++ для чайников (+ CD-ROM)

Стефан Р. Дэвис

Полное руководство по C++, с учетом стандарта C++ 2009!

C++ остается стандартом объектно-ориентированного программирования, а данная книга содержит все, что вы обязаны знать о C++, чтобы начать программировать, и ничего лишнего! Она рассчитана на совершенно незнакомых с программированием людей и излагает все вопросы с нуля. Книга полна конкретных примеров, помогающих сложить кусочки разных тем в мозаику языка программирования.

Открой книгу и узнай:

  • что такое объектно-ориентированное программирование;
  • как использовать выражения и конструкции языка;
  • как работать со строками, что такое указатели и куда они указывают;
  • как конкретизировать абстрактные классы;
  • как работает наследование и новые возможности C++ 2009;
  • десять способов избежать ошибок в программах;

На прилагаемом компакт-диске:

  • интегрированная среда разработки Code::Blocks;
  • полнофункциональный компилятор GNU C++.

Издательство: Диалектика, Вильямс, 2009 г.

ISBN 978-5-8459-1598-6, 978-0-470-31726-4

Количество страниц: 336.

Содержание книги «C++ для чайников (+ CD-ROM)»:

  • 16 Введение
    • 16 О чем эта книга
    • 16 Прилагаемый компакт-диск
    • 17 Что такое C++
    • 17 Соглашения, используемые в книге
    • 18 Как организована эта книга
    • 18 И еще
      • 18 Часть I. Первое знакомство с C++
      • 18 Часть II. Становимся функциональными программистами
      • 18 Часть III. Введение в классы
      • 19 Часть IV. Наследование
      • 19 Часть V. Полезные особенности
      • 19 Часть VI. «Великолепные десятки»
    • 19 Использованные в этой книге пиктограммы
    • 20 Что дальше
  • 21 ЧАСТЬ I. ПЕРВОЕ ЗНАКОМСТВО С C++
  • 23 Глава 1. Написание вашей первой программы
    • 23 Постигая концепции C++
    • 24 Установка Code::Blocks
    • 26 Создание первой программы
      • 27 Создание проекта
      • 28 Ввод кода
      • 30 Как облегчить жизнь
      • 31 Построение программы
    • 31 Выполнение программы
    • 33 Разбор программ
      • 33 Определение структуры программ C++
      • 33 Использование в исходном коде комментариев
      • 34 Использование инструкций в программах
      • 34 Объявления
      • 35 Генерация вывода
    • 35 Вычисление выражений
      • 36 Сохранение результатов выражения
      • 36 Обзор программы Convert продолжается
  • 37 Глава 2. Премудрости объявления переменных
    • 37 Объявление переменных
    • 38 Объявление разных типов переменных
      • 39 Ограничения, налагаемые на целые числа в C++
      • 39 Решение проблемы усечения дробной части
      • 40 Ограничения чисел с плавающей точкой
    • 41 Объявления типов переменных
      • 43 Типы констант
      • 44 Диапазоны числовых типов
      • 44 Специальные символы
    • 45 Широкая дорога для символов
    • 46 Логические выражения
    • 46 Выражения смешанного типа
    • 47 Автоматические объявления
  • 49 Глава 3. Выполнение математических операций
    • 49 Бинарная арифметика
    • 50 Анализ выражений
    • 51 Определение порядка операций
    • 51 Выполнение унарных операций
    • 52 Использование операторов присвоения
  • 55 Глава 4. Выполнение логических операций
    • 55 Зачем нужны логические операторы
    • 55 Использование простых логических операторов
      • 56 Хранение логических значений
      • 57 Использование целых переменных в качестве логических
      • 58 Логические операции с действительными переменными
    • 59 Бинарные числа в C++
      • 59 Десятичная система счисления
      • 60 Другие системы счисления
      • 60 Двоичная система счисления
    • 61 Выполнение побитовых логических операций
      • 62 Побитовые операции с одним битом
      • 63 Использование побитовых операторов
      • 63 Простой пример
      • 65 Практическое применение логических вычислений
  • 67 Глава 5. Управление потоком выполнения программы
    • 67 Управление ходом программы с помощью команд ветвления
    • 69 Выполнение циклов
      • 69 Цикл while
      • 71 Использование операторов инкремента и декремента
      • 72 Использование цикла for
      • 74 Избегайте бесконечных циклов
      • 74 Специальные операторы управления циклом
    • 77 Вложенные команды управления
    • 78 Инструкция выбора
  • 81 ЧАСТЬ II. СТАНОВИМСЯ ФУНКЦИОНАЛЬНЫМИ ПРОГРАММИСТАМИ
  • 83 Глава 6. Создание функций
    • 83 Написание и использование функций
      • 85 Определение первой функции
      • 85 Определение функции sumSequence()
      • 86 Вызов функции sumSequence()
      • 86 Разделяй и властвуй
    • 86 Подробный анализ функций
      • 87 Простые функции
      • 87 Функции с аргументами
    • 90 Перегрузка функций
    • 91 Определение прототипов функций
    • 92 Хранение переменных в памяти
  • 95 Глава 7. Хранение последовательностей в массивах
    • 95 Преимущества массивов
      • 96 Работа с массивами
      • 99 Инициализация массива
      • 100 Выход за границы массива
      • 100 Использовать ли массивы
      • 100 Определение и использование массивов с элементами-массивами
    • 101 Использование символьных массивов
      • 101 Создание массива символов
      • 102 Создание строки символов
    • 103 Управление строками
    • 105 Библиотечные функции
    • 106 Работа с широкими строками
  • 109 Глава 8. Первое знакомство с указателями в C++
    • 109 Размер переменной
    • 110 Что такое адрес
    • 111 Адресные операторы
    • 112 Использование указателей
      • 113 Использование разных типов указателей
    • 114 Передача указателей функциям
      • 114 Передача аргументов по значению
      • 115 Передача значений указателей
      • 115 Передача аргументов по ссылке
    • 116 Постоянные проблемы с const
    • 117 Использование кучи
      • 117 Область видимости
      • 118 Проблемы области видимости
      • 119 Решение с применением кучи
  • 121 Глава 9. Второе знакомство с указателями
    • 121 Операции с указателями
      • 122 Повторное знакомство с массивами в свете указателей
      • 123 Операции над указателями для адресации внутри массива
      • 124 Указатели и работа со строками
      • 125 Почему при работе со строками пользуются указателями
      • 126 Операции с указателями других типов
      • 126 Отличия между указателями и массивами
    • 128 Когда указатель никуда не указывает
    • 129 Объявление и использование массивов указателей
      • 129 Использование массивов строк
      • 131 Доступ к аргументам main()
  • 135 Глава 10. Препроцессор C++
    • 135 Что такое препроцессор
    • 136 Включение файлов
    • 138 Директива #define
      • 140 Как обойтись без #define
      • 141 Перечисления
    • 142 Использование #if
    • 143 Предопределенные константы
    • 145 Typedef
  • 147 ЧАСТЬ III. ВВЕДЕНИЕ В КЛАССЫ
  • 149 Глава 11. Знакомство с объектно-ориентированным программированием
    • 149 Микроволновые печи и уровни абстракции
      • 150 Приготовление блюд с помощью функций
      • 150 Приготовление «объектно-ориентированных» блюд
    • 150 Классификация микроволновых печей
    • 151 Зачем нужна классификация
  • 153 Глава 12. Классы в C++
    • 153 Введение в классы
    • 153 Формат класса
    • 154 Обращение к членам класса
    • 155 Активация наших объектов
      • 155 Моделирование реальных объектов
      • 156 Зачем нужны функции-члены
    • 156 Добавление функции-члена
    • 157 Вызов функций-членов
      • 158 Доступ к членам из функции-члена
    • 160 Разрешение области видимости
    • 160 Определение функции-члена
    • 162 Определение функций-членов вне класса
    • 163 Перегрузка функций-членов
  • 165 Глава 13. Указатели на объекты
    • 165 Объявление массивов объектов
    • 166 Объявление указателей на объекты
      • 167 Разыменование указателей на объекты
      • 167 Использование стрелок
    • 168 Передача объектов функциям
      • 168 Вызов функции с передачей объекта по значению
      • 169 Вызов функции с передачей указателя на объект
      • 170 Передача объекта по ссылке
    • 171 Зачем использовать указатели и ссылки
    • 171 Возврат к куче
    • 173 Сравнение указателей и ссылок
    • 173 Использование связанных списков
      • 174 Другие операции над связанным списком
      • 174 Программа LinkedListData
    • 177 Списки в стандартной библиотеке
  • 179 Глава 14. Защищенные члены класса: не беспокоить!
    • 179 Защищенные члены
      • 179 Зачем нужны защищенные члены
      • 180 Как устроены защищенные члены
    • 181 Чем хороши защищенные члены
      • 181 Защита внутреннего устройства класса
      • 182 Классы с ограниченным интерфейсом
    • 182 Обращение внешних функций к защищенным членам
  • 185 Глава 15. Создание и удаление объектов
    • 185 Создание объектов
    • 186 Использование конструкторов
      • 186 Конструирование одного объекта
      • 187 Конструирование нескольких объектов
      • 188 Конструирование составных объектов
    • 190 Что такое деструктор
      • 190 Зачем нужен деструктор
      • 190 Работа с деструкторами
  • 195 Глава 16. Аргументация конструирования
    • 195 Как снабдить конструктор аргументами
      • 195 Как использовать конструктор с аргументами
    • 197 Перегрузка конструктора
    • 199 Определение конструкторов по умолчанию
    • 201 Конструирование членов класса
      • 204 Конструкторы константных членов
    • 204 Управление последовательностью конструирования
      • 205 Локальные объекты создаются последовательно
      • 205 Статические объекты создаются один раз
      • 206 Все глобальные объекты создаются до вызова main()
      • 206 Порядок создания глобальных объектов не определен
      • 207 Члены создаются в порядке их объявления
      • 208 Деструкторы удаляют объекты в порядке, обратном порядку их создания
    • 208 Конструкторы как разновидность преобразования типов
  • 209 Глава 17. Копирующий конструктор
    • 209 Копирование объекта
      • 209 Зачем нужен копирующий конструктор
      • 210 Использование копирующего конструктора
    • 211 Автоматический копирующий конструктор
    • 213 «Мелкие» и «глубокие» копии
    • 216 Временные объекты
      • 217 Как избегать временных объектов
  • 219 Глава 18. Статические члены
    • 219 Определение статических членов
      • 219 Зачем нужны статические члены
      • 220 Использование статических членов
      • 221 Обращение к статическим данным-членам
      • 222 Применение статических данных-членов
    • 222 Объявление статических функций-членов
    • 224 Что такое this
  • 227 ЧАСТЬ IV. НАСЛЕДОВАНИЕ
  • 229 Глава 19. Наследование классов
    • 230 Зачем нужно наследование
    • 230 Как наследуется класс
      • 232 Использование подкласса
      • 232 Конструирование подкласса
      • 233 Деструкция подкласса
    • 234 Отношение СОДЕРЖИТ
  • 235 Глава 20. Знакомство с виртуальными функциями-членами: настоящие ли они
    • 237 Зачем нужен полиморфизм
    • 238 Как работает полиморфизм
    • 239 Когда функция не будет виртуальной
    • 240 Виртуальные особенности
  • 243 Глава 21. Разложение классов
    • 243 Разложение
    • 246 Реализация абстрактных классов
      • 247 Концепция абстрактных классов
      • 248 Создание полноценного класса из абстрактного
      • 248 Передача абстрактных классов
  • 251 ЧАСТЬ V. ПОЛЕЗНЫЕ ОСОБЕННОСТИ
  • 253 Глава 22. Оператор присваивания
    • 253 Сравнение операторов и функций
      • 254 Потоковые операторы
    • 254 Мелкое копирование — глубокие проблемы
    • 255 Переопределение оператора присваивания
    • 259 Перегрузка оператора индексирования
  • 261 Глава 23. Использование потоков ввода-вывода
    • 261 Как работают потоки ввода-вывода
      • 262 Потоковые объекты по умолчанию
    • 263 Потоковый ввод-вывод
      • 264 Режимы открытия файлов
      • 264 Состояние файла
      • 265 Небольшой пример
    • 267 Методы классов потоков
      • 269 Прямое чтение и запись потока
      • 270 Управление форматированием
      • 272 Что такое endl
      • 272 Позиционирование в файле
    • 272 Подклассы stringstream
    • 275 Работа с манипуляторами
  • 277 Глава 24. Обработка ошибок и исключения
    • 278 Зачем нужен новый механизм обработки ошибок
    • 279 Механизм исключительных ситуаций
    • 282 Что же мы будем бросать?
    • 284 Передай дальше
  • 285 Глава 25. Множественное наследование
    • 285 Механизм множественного наследования
    • 287 Устранение неоднозначностей множественного наследования
    • 287 Виртуальное наследование
    • 293 Конструирование объектов
    • 293 Отрицательные стороны множественного наследования
  • 295 Глава 26. Шаблоны C++
    • 296 Обобщение функции в шаблон
    • 297 Шаблоны классов
    • 300 Советы по использованию шаблонов
  • 301 Глава 27. Стандартная библиотека шаблонов
    • 301 Контейнер string
    • 305 Контейнер list
      • 307 Огласите весь список, пожалуйста!
      • 308 Операции над всем списком
      • 308 Приведите пример
  • 311 ЧАСТЬ VI. ВЕЛИКОЛЕПНЫЕ ДЕСЯТКИ
  • 313 Глава 28. Десять способов избежать ошибок
    • 313 Включение всех предупреждений и сообщений об ошибках
    • 313 Используйте последовательный стиль программирования
    • 314 Ограничивайте видимость
    • 315 Комментируйте свою программу
    • 315 Хотя бы один раз выполните программу пошагово
    • 316 Избегайте перегрузки операторов
    • 316 Работа с кучей
    • 316 Используйте для обработки ошибок исключительные ситуации
    • 316 Делайте деструкторы виртуальными
    • 318 Избегайте множественного наследования
  • 319 Глава 29. Десять наиболее важных добавлений в C++
    • 319 Использование интеллектуальных указателей
    • 320 Инициализация переменных списками переменной длины
    • 321 Встроенная инициализация членов-данных
    • 321 Инстанцирование внешних шаблонов
    • 322 Локальная память потока
    • 322 Применение ссылок rvalue
    • 323 Реализация концепций
    • 324 Лямбда-выражения
    • 324 Определение вариадных шаблонов
    • 324 Применение typeid()
  • 327 Приложение. О компакт-диске
    • 327 Системные требования
    • 327 Использование компакт-диска
    • 328 Что есть на компакт-диске
      • 328 Программы .CPP
      • 329 Интегрированная среда разработки Code::Blocks
    • 329 Решение проблем
  • 330 Предметный указатель

Инструкция как скачать книгу Стефан Р. Дэвис: C++ для чайников (+ CD-ROM) в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
C++ для чайников (+ CD-ROM)
Рейтинг книги:
2 голоса
1902

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: