Объектно-ориентированное программирование в С++

Р. Лафоре

Благодаря этой книге тысячи пользователей овладели технологией объектно-ориентированного программирования в С++. В ней есть все: основные принципы языка, готовые полномасштабные приложения, небольшие примеры, поясняющие теорию, и множество полезных иллюстраций. Книга пользуется стабильным успехом в учебных заведениях благодаря тому, что содержит более 100 упражнений, позволяющих проверить знания по всем темам.

Читатель может вообще не иметь подготовки в области языка С++. Необходимо лишь знание начальных основ программирования.

Издательство: Питер, 2012 г.

ISBN 978-5-4237-0038-6, 0-672-32308-7

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

Содержание книги «Объектно-ориентированное программирование в С++»:

  • 24 Предисловие
  • 25 Введение
    • 25 Новые концепции программирования
    • 25 Объектно-ориентированное программирование
    • 26 Унифицированный язык моделирования
    • 26 Языки и платформы разработки
    • 27 Для чего нужна эта книга
      • 27 Новые концепции
      • 27 Последовательность изложения материала
      • 28 Знания, необходимые для чтения этой книги
    • 28 Техническое и программное обеспечение
    • 28 Консольные программы
    • 28 Исходные тексты программ
    • 29 Упражнения
    • 29 Проще, чем кажется
    • 29 Преподавателям
      • 29 Стандартный C++
      • 29 Унифицированный язык моделирования (UML)
      • 30 Средства разработки программного обеспечения
      • 30 Различия между C и C++
      • 30 Оптимальный порядок изучения ООП
      • 31 Нововведения в C++
      • 31 Избыточные возможности
    • 31 Упражнения
      • 31 От издательства
  • 32 Глава 1. Общие сведения
    • 32 Для чего нужно объектно-ориентированное программирование?
      • 32 Процедурные языки
      • 33 Деление на функции
      • 33 Недостатки структурного программирования
      • 34 Неконтролируемый доступ к данным
      • 35 Моделирование реального мира
    • 36 Объектно-ориентированный подход
      • 37 Аналогия
      • 38 ООП: подход к организации программы
    • 38 Характеристики объектно-ориентированных языков
      • 38 Объекты
      • 39 Классы
      • 40 Наследование
      • 42 Повторное использование кода
      • 42 Пользовательские типы данных
      • 42 Полиморфизм и перегрузка
    • 43 C++ и C
    • 44 Изучение основ
    • 44 Универсальный язык моделирования (UML)
    • 45 Резюме
    • 46 Вопросы
  • 48 Глава 2. Основы программирования на C++
    • 49 Что необходимо для работы
    • 49 Структура программы
      • 49 Функции
      • 51 Операторы
      • 51 Разделяющие знаки
    • 52 Вывод с использованием cout
      • 53 Строковые константы
    • 53 Директивы
      • 54 Директивы препроцессора
      • 54 Заголовочные файлы
      • 55 Директива using
    • 55 Комментарии
      • 55 Синтаксис комментариев
      • 56 Использование комментариев
      • 56 Альтернативный вид комментариев
    • 56 Переменные целого типа
      • 57 Описание переменных целого типа
      • 58 Объявление и определение переменной
      • 59 Имена переменных
      • 59 Операция присваивания
      • 59 Целые константы
      • 60 Оператор вывода
      • 60 Манипулятор endl
      • 61 Другие целые типы
    • 61 Символьные переменные
      • 62 Символьные константы
      • 63 Инициализация
      • 63 Управляющие последовательности
    • 64 Ввод с помощью cin
      • 65 Определение переменных при первом использовании
      • 66 Каскадирование операции <<
      • 66 Выражения
      • 66 Приоритеты выполнения операций
    • 67 Вещественные типы
      • 67 Тип float
      • 68 Типы double и long double
      • 68 Вещественные константы
      • 69 Префикс const
      • 70 Директива #define
    • 70 Тип bool
    • 71 Манипулятор setw
      • 72 Каскадирование операции <<
      • 72 Множественное определение
      • 73 Файл заголовка IOMANIP
    • 73 Таблица типов переменных
      • 73 Беззнаковые типы данных
    • 75 Преобразования типов
      • 75 Неявные преобразования типов
      • 77 Явные преобразования типов
    • 78 Арифметические операции
      • 79 Остаток от деления
      • 79 Арифметические операции с присваиванием
      • 81 Инкремент
      • 82 Декремент
    • 82 Библиотечные функции
      • 83 Заголовочные файлы
      • 84 Библиотечные файлы
      • 84 Заголовочные и библиотечные файлы
      • 84 Формы директивы #include
    • 85 Резюме
    • 87 Вопросы
    • 88 Упражнения
  • 92 Глава 3. Циклы и ветвления
    • 92 Операции отношения
    • 94 Циклы
      • 94 Цикл for
      • 96 Инициализирующее выражение
      • 96 Условие выполнения цикла
      • 96 Инкрементирующее выражение
      • 97 Число выполнений цикла
      • 97 Несколько операторов в теле цикла
      • 98 Блоки и область видимости переменных
      • 99 Форматирование и стиль оформления циклов
    • 100 Обнаружение ошибок
      • 100 Варианты цикла for
      • 101 Определение счетчика цикла внутри оператора цикла for
      • 101 Несколько инициализирующих выражений и условий цикла
      • 102 Цикл while
      • 104 Несколько операторов в цикле while
      • 105 Приоритеты арифметических операций и операций отношения
      • 106 Цикл do
      • 108 Выбор типа цикла
    • 108 Ветвления
    • 109 Условный оператор if
      • 110 Несколько операторов в теле if
      • 110 if внутри циклов
      • 111 Функция exit()
      • 112 Оператор ifјelse
      • 113 Функция getche()
      • 114 Условия с присваиванием
      • 116 Вложенные ветвления if...else
      • 117 if и else во вложенных ветвлениях
      • 119 Конструкция else...if
      • 119 Оператор switch
      • 121 Оператор break
      • 122 switch и символьные переменные
      • 123 Ключевое слово default
      • 124 Сравнение switch и if...else
      • 124 Условная операция
    • 127 Логические операции
      • 127 Операция логического И
      • 128 Логическое ИЛИ
      • 129 Логическое НЕ
      • 129 Целые величины в качестве булевых
    • 130 Приоритеты операций C++
    • 131 Другие операторы перехода
      • 131 Оператор break
      • 133 Расширенная таблица символов ASCII
      • 133 Оператор continue
      • 134 Оператор goto
    • 135 Резюме
    • 136 Вопросы
    • 138 Упражнения
  • 142 Глава 4. Структуры
    • 142 Структуры
      • 143 Простая структура
      • 143 Определение структуры
      • 144 Определение структурной переменной
      • 146 Доступ к полям структуры
      • 146 Другие возможности структур
      • 148 Пример применения структур
      • 150 Вложенные структуры
      • 154 Пример карточной игры
      • 156 Структуры и классы
    • 156 Перечисления
      • 157 Дни недели
      • 159 Перечисления и программа подсчета числа слов
      • 161 Пример карточной игры
      • 162 Недостаток перечислений
      • 163 Примеры перечисляемых типов
    • 163 Резюме
    • 164 Вопросы
    • 165 Упражнения
  • 168 Глава 5. Функции
    • 169 Простые функции
      • 170 Объявление функции
      • 171 Вызов функции
      • 171 Определение функции
      • 172 Обычные и библиотечные функции
      • 173 Отсутствие объявления
    • 174 Передача аргументов в функцию
      • 174 Передача констант в функцию
      • 175 Передача значений переменных в функцию
      • 176 Передача аргументов по значению
      • 177 Структурные переменные в качестве аргументов
      • 181 Имена переменных внутри прототипа функции
    • 181 Значение, возвращаемое функцией
      • 182 Оператор return
      • 184 Исключение ненужных переменных
      • 185 Структурная переменная в качестве возвращаемого значения
    • 186 Ссылки на аргументы
      • 187 Передача по ссылке аргументов стандартных типов
      • 189 Усложненный вариант передачи по ссылке
      • 191 Передача структурных переменных по ссылке
      • 192 Замечание о ссылках
    • 192 Перегруженные функции
      • 193 Переменное число аргументов функции
      • 195 Различные типы аргументов
    • 196 Рекурсия
    • 198 Встраиваемые функции
    • 200 Аргументы по умолчанию
    • 202 Область видимости и класс памяти
      • 203 Локальные переменные
    • 205 Глобальные переменные
      • 207 Статические локальные переменные
    • 208 Возвращение значения по ссылке
      • 209 Вызов функции в качестве левого операнда операции присваивания
      • 210 Зачем нужно возвращение по ссылке?
    • 210 Константные аргументы функции
    • 212 Резюме
    • 213 Вопросы
    • 215 Упражнения
  • 217 Глава 6. Объекты и классы
    • 217 Простой класс
      • 218 Классы и объекты
      • 219 Определение класса
      • 222 Использование класса
      • 222 Вызов методов класса
    • 224 Объекты программы и объекты реального мира
      • 224 Детали изделия в качестве объектов
      • 225 Круги в качестве объектов
    • 226 Класс как тип данных
    • 227 Конструкторы
      • 228 Пример со счетчиком
      • 231 Графический пример
    • 232 Объекты в качестве аргументов функций
      • 236 Объекты в качестве аргументов
    • 237 Конструктор копирования по умолчанию
    • 239 Объекты, возвращаемые функцией
      • 240 Аргументы и объекты
    • 242 Пример карточной игры
    • 244 Структуры и классы
    • 245 Классы, объекты и память
    • 247 Статические данные класса
      • 247 Применение статических полей класса
      • 247 Пример использования статических полей класса
      • 248 Раздельное объявление и определение полей класса
    • 249 сonst и классы
      • 250 Константные методы
      • 252 Константные объекты
    • 253 Зачем нужны классы?
    • 254 Резюме
    • 255 Вопросы
    • 257 Упражнения
  • 261 Глава 7. Массивы и строки
    • 262 Основы массивов
      • 263 Определение массивов
      • 263 Элементы массива
      • 263 Доступ к элементам массива
      • 264 Среднее арифметическое элементов массива
      • 265 Инициализация массива
      • 267 Многомерные массивы
      • 271 Передача массивов в функции
      • 273 Массивы структур
      • 275 Массивы как члены классов
    • 278 Массивы объектов
      • 278 Массивы интервалов
      • 280 Границы массива
      • 280 Доступ к объектам в массиве
      • 281 Массивы карт
    • 284 Строки
      • 285 Строковые переменные
      • 288 Считывание нескольких строк
      • 289 Копирование строк
      • 290 Копирование строк более простым способом
    • 291 Массивы строк
      • 292 Строки как члены классов
      • 294 Определенные пользователем типы строк
      • 296 Стандартный класс string языка C++
      • 296 Определение объектов класса string и присваивание им значений
      • 298 Ввод/вывод для объектов класса string
      • 299 Поиск объектов класса string
      • 300 Модификация объектов класса string
      • 301 Сравнение объектов класса string
      • 302 Доступ к символам в объектах класса string
      • 303 Другие методы класса string
    • 304 Резюме
    • 304 Вопросы
    • 307 Упражнения
  • 312 Глава 8. Перегрузка операций
    • 313 Перегрузка унарных операций
      • 314 Ключевое слово operator
      • 315 Аргументы операции
      • 315 Значения, возвращаемые операцией
      • 317 Временные безымянные объекты
      • 318 Постфиксные операции
    • 320 Перегрузка бинарных операций
      • 320 Арифметические операции
      • 323 Объединение строк
      • 325 Множественная перегрузка
      • 325 Операции сравнения
      • 328 Операции арифметического присваивания
      • 330 Операция индексации массива ([])
    • 334 Преобразование типов
      • 335 Преобразования основных типов в основные типы
      • 336 Преобразования объектов в основные типы и наоборот
      • 338 Преобразования строк в объекты класса string и наоборот
      • 340 Преобразования объектов классов в объекты других классов
      • 346 Преобразования: когда что использовать
    • 346 Диаграммы классов UML
      • 347 Объединения
      • 347 Направленность
    • 348 «Подводные камни» перегрузки операций и преобразования типов
      • 348 Использование похожих значений
      • 348 Использование похожего синтаксиса
      • 349 Показывайте ограничение
      • 349 Избегайте неопределенности
      • 349 Не все операции могут быть перегружены
    • 349 Ключевые слова explicit и mutable
      • 350 Предотвращение преобразования типов с помощью explicit
      • 351 Изменение данных объекта, объявленных как const, используя ключевое слово mutable
    • 353 Резюме
    • 353 Вопросы
    • 356 Упражнения
  • 361 Глава 9. Наследование
    • 362 Базовый и производный классы
      • 364 Определение производного класса
      • 364 Обобщение в диаграммах классов в UML
      • 365 Доступ к базовому классу
      • 366 Результат программы COUNTEN
      • 366 Спецификатор доступа protected
      • 368 Недостатки использования спецификатора protected
      • 368 Неизменность базового класса
      • 368 Разнообразие терминов
    • 368 Конструкторы производного класса
      • 370 Перегрузка функций
    • 372 Какой из методов использовать?
      • 372 Операция разрешения и перегрузка функций
    • 373 Наследование в классе Distance
      • 374 Применение программы ENGLEN
      • 375 Конструкторы класса DistSign
      • 375 Методы класса DistSign
      • 375 В поддержку наследования
    • 376 Иерархия классов
      • 379 Абстрактный базовый класс
      • 380 Конструкторы и функции
    • 380 Наследование и графика
    • 383 Общее и частное наследование
      • 383 Комбинации доступа
      • 384 Выбор спецификатора доступа
    • 385 Уровни наследования
    • 388 Множественное наследование
      • 389 Методы классов и множественное наследование
    • 393 Частное наследование в программе EMPMULT
      • 393 Конструкторы при множественном наследовании
      • 396 Конструкторы без аргументов
      • 396 Конструктор со многими аргументами
    • 397 Неопределенность при множественном наследовании
    • 398 Включение: классы в классах
      • 399 Включение в программе EMPCONT
      • 403 Композиция: сложное включение
    • 403 Роль наследования при разработке программ
    • 404 Резюме
    • 405 Вопросы
    • 407 Упражнения
  • 411 Глава 10. Указатели
    • 412 Адреса и указатели
    • 412 Операция получения адреса &
      • 414 Переменные указатели
      • 416 Недостатки синтаксиса
      • 416 Указатели должны иметь значение
      • 417 Доступ к переменной по указателю
      • 420 Указатель на void
    • 421 Указатели и массивы
    • 423 Указатели-константы и указатели-переменные
    • 424 Указатели и функции
      • 424 Передача простой переменной
      • 426 Передача массивов
      • 428 Сортировка элементов массива
      • 428 Расстановка с использованием указателей
      • 430 Сортировка методом пузырька
    • 432 Указатели на строки
      • 432 Указатели на строковые константы
      • 433 Строки как аргументы функций
      • 434 Копирование строк с использованием указателей
      • 434 Библиотека строковых функций
      • 435 Модификатор const и указатели
      • 436 Массивы указателей на строки
    • 437 Управление памятью: операции new и delete
      • 438 Операция new
      • 439 Операция delete
      • 440 Класс String с использованием операции new
    • 442 Указатели на объекты
      • 443 Ссылки на члены класса
      • 444 Другое применение операции new
      • 445 Массив указателей на объекты
      • 446 Действия программы
      • 446 Доступ к методам класса
    • 447 Связный список
      • 447 Цепочка указателей
      • 449 Добавление новых элементов в список
      • 450 Получение содержимого списка
      • 450 Классы, содержащие сами себя
      • 451 Пополнение примера LINKLIST
    • 451 Указатели на указатели
      • 453 Сортируем указатели
      • 454 Тип данных person**
      • 454 Сравнение строк
    • 455 Пример разбора строки
      • 456 Разбор арифметических выражений
      • 457 Программа PARSE
    • 459 Симулятор: лошадиные скачки
      • 460 Разработка лошадиных скачек
      • 463 Моделирование хода времени
      • 463 Уничтожение массива указателей на объекты
      • 464 Функция putch()
    • 464 Диаграммы UML
      • 465 Диаграмма состояний в UML
      • 466 Состояния
      • 466 Переходы
      • 466 От состояния к состоянию
    • 467 Отладка указателей
    • 467 Резюме
    • 469 Вопросы
    • 471 Упражнения
  • 476 Глава 11. Виртуальные функции
    • 476 Виртуальные функции
      • 477 Доступ к обычным методам через указатели
      • 479 Доступ к виртуальным методам через указатели
      • 481 Позднее связывание
      • 481 Абстрактные классы и чистые виртуальные функции
      • 483 Виртуальные функции и класс person
      • 485 Виртуальные функции в графическом примере
      • 488 Виртуальные деструкторы
      • 489 Виртуальные базовые классы
    • 491 Дружественные функции
      • 491 Дружественные функции как мосты между классами
      • 492 Ломая стены
      • 493 Пример с английскими мерами длины
      • 496 Дружественность и функциональная запись
      • 499 Дружественные классы
    • 500 Статические функции
      • 501 Доступ к статическим функциям
    • 502 Инициализация копирования и присваивания
      • 503 Перегрузка оператора присваивания
      • 506 Конструктор копирования
      • 510 Объектные диаграммы UML
      • 510 Эффективное использование памяти классом String
    • 516 Указатель this
      • 517 Доступ к компонентным данным через указатель this
      • 518 Использование this для возврата значений
      • 520 Исправленная программа STRIMEM
    • 523 Динамическая информация о типах
    • 523 Проверка типа класса с помощью dynamic_cast
      • 524 Изменение типов указателей с помощью dynamic_cast
      • 526 Оператор typeid
    • 527 Резюме
    • 528 Вопросы
    • 531 Упражнения
  • 536 Глава 12. Потоки и файлы
    • 536 Потоковые классы
      • 537 Преимущества потоков
      • 537 Иерархия потоковых классов
      • 539 Класс ios
      • 542 Класс istream
      • 543 Класс ostream
      • 544 Классы iostream и _withassign
      • 544 Предопределенные потоковые объекты
    • 545 Ошибки потоков
      • 545 Биты статуса ошибки
      • 546 Ввод чисел
      • 547 Переизбыток символов
      • 547 Ввод при отсутствии данных
      • 548 Ввод строк и символов
      • 548 Отладка примера с английскими расстояниями
    • 551 Потоковый ввод/вывод дисковых файлов
      • 551 Форматированный файловый ввод/вывод
      • 554 Строки с пробелами
      • 555 Ввод/вывод символов
      • 557 Двоичный ввод/вывод
      • 558 Оператор reinterpret_cast
      • 558 Закрытие файлов
      • 559 Объектный ввод/вывод
      • 560 Совместимость структур данных
      • 561 Ввод/вывод множества объектов
      • 563 Биты режимов
    • 564 Указатели файлов
      • 564 Вычисление позиции
      • 565 Вычисление сдвига
      • 567 Функция tellg()
    • 567 Обработка ошибок файлового ввода/вывода
      • 567 Реагирование на ошибки
      • 568 Анализ ошибок
    • 570 Файловый ввод/вывод с помощью методов
      • 570 Как объекты записывают и читают сами себя
      • 572 Как классы записывают и читают сами себя
      • 578 Код типа объекта
    • 581 Перегрузка операторов извлечения и вставки
      • 581 Перегрузка cout и cin
      • 583 Перегрузка << и >> для файлов
    • 585 Память как поток
    • 586 Аргументы командной строки
    • 589 Вывод на печатающее устройство
    • 590 Резюме
    • 591 Вопросы
    • 592 Упражнения
  • 596 Глава 13. Многофайловые программы
    • 596 Причины использования многофайловых программ
      • 597 Библиотеки классов
      • 598 Организация и концептуализация
    • 598 Создание многофайловой программы
      • 599 Заголовочные файлы
      • 599 Директории
      • 600 Проекты
    • 600 Межфайловое взаимодействие
      • 600 Взаимодействие исходных файлов
      • 605 Заголовочные файлы
      • 609 Пространства имен
    • 613 Класс сверхбольших чисел
      • 613 Числа как строки
      • 614 Описатель класса
      • 615 Методы
      • 617 Прикладная программа
    • 619 Моделирование высотного лифта
      • 620 Работа программы ELEV
      • 621 Проектирование системы
      • 623 Листинг программы ELEV
      • 634 Диаграмма состояний для программы ELEV
    • 635 Резюме
    • 636 Вопросы
    • 638 Проекты
  • 640 Глава 14. Шаблоны и исключения
    • 640 Шаблоны функций
      • 642 Шаблон простой функции
      • 644 Шаблоны функций с несколькими аргументами
    • 647 Шаблоны классов
      • 651 Контекстозависимое имя класса
      • 653 Создание класса связных списков с помощью шаблонов
      • 655 Хранение пользовательских типов
      • 658 UML и шаблоны
    • 659 Исключения
      • 660 Для чего нужны исключения
      • 661 Синтаксис исключений
      • 662 Простой пример исключения
      • 666 Многократные исключения
      • 668 Исключения и класс Distance
      • 670 Исключения с аргументами
      • 673 Класс bad_alloc
      • 674 Размышления об исключениях
    • 675 Резюме
    • 676 Вопросы
    • 678 Упражнения
  • 681 Глава 15. Стандартная библиотека шаблонов (STL)
    • 682 Введение в STL
      • 682 Контейнеры
      • 687 Алгоритмы
      • 688 Итераторы
      • 689 Возможные проблемы с STL
    • 690 Алгоритмы
      • 690 Алгоритм find ()
      • 691 Алгоритм count ()
      • 692 Алгоритм sort()
      • 692 Алгоритм search()
      • 693 Алгоритм merge()
      • 694 Функциональные объекты
      • 695 Пользовательские функции вместо функциональных объектов
      • 696 Добавление _if к аргументам
      • 697 Алгоритм for_each ()
      • 697 Алгоритм transform()
    • 698 Последовательные контейнеры
      • 699 Векторы
      • 702 Списки
    • 706 Итераторы
      • 706 Итераторы как интеллектуальные указатели
      • 708 Итераторы в качестве интерфейса
      • 710 Соответствие алгоритмов контейнерам
      • 713 Работа с итераторами
    • 717 Специализированные итераторы
      • 717 Адаптеры итераторов
      • 720 Потоковые итераторы
    • 724 Ассоциативные контейнеры
      • 725 Множества и мультимножества
      • 729 Отображения и мультиотображения
      • 730 Ассоциативный массив
    • 731 Хранение пользовательских объектов
      • 732 Множество объектов person
      • 735 Список объектов класса person
    • 738 Функциональные объекты
      • 739 Предопределенные функциональные объекты
      • 741 Создание собственных функциональных объектов
      • 746 Функциональные объекты и поведение контейнеров
    • 746 Резюме
    • 747 Вопросы
    • 749 Упражнения
  • 752 Глава 16. Разработка объектно-ориентированного ПО
    • 752 Эволюция процесса создания программного обеспечения
      • 753 Процесс просиживания штанов
      • 753 Каскадный процесс
      • 753 Объектно-ориентированное программирование
      • 754 Современные подходы
    • 755 Моделирование вариантов использования
      • 755 Действующие субъекты
      • 756 Варианты использования
      • 756 Сценарии
      • 757 Диаграммы вариантов использования
      • 758 Описания вариантов использования
      • 758 От вариантов использования к классам
    • 759 Предметная область программирования
      • 760 Рукописные формы
      • 762 Допущения
    • 762 Программа LANDLORD: стадия развития
      • 762 Действующие субъекты
      • 762 Варианты использования
      • 763 Описание вариантов использования
      • 765 Сценарии
      • 765 Диаграммы действий UML
    • 766 От вариантов использования к классам
      • 766 Список существительных
      • 767 Уточнение списка
      • 768 Определение атрибутов
      • 768 От глаголов к сообщениям
      • 770 Диаграмма классов
      • 770 Диаграммы последовательностей
    • 774 Написание кода
      • 775 Заголовочный файл
      • 780 Исходные .cpp файлы
      • 789 Вынужденные упрощения
    • 789 Взаимодействие с программой
    • 791 Заключение
    • 791 Резюме
    • 792 Вопросы
    • 794 Проекты
  • 796 Приложение А. Таблица ASCII
  • 803 Приложение Б. Таблица приоритетов операций C++
    • 803 Таблица приоритетов операций
    • 803 Зарезервированные слова
  • 806 Приложение В. Microsoft Visual C++
    • 806 Элементы экрана
    • 807 Однофайловые программы
      • 807 Компоновка существующего файла
      • 808 Создание нового файла
      • 808 Ошибки
      • 808 Информация о типах в процессе исполнения (RTTI)
    • 809 Многофайловые программы
      • 809 Проекты и рабочие области
      • 809 Работа над проектом
      • 810 Сохранение, закрытие и открытие проектов
      • 811 Компиляция и компоновка
    • 811 Программы с консольной графикой
    • 811 Отладка программ
      • 812 Пошаговая трассировка
      • 812 Просмотр переменных
      • 812 Пошаговая трассировка функций
      • 813 Точки останова
  • 814 Приложение Г. Borland C++ Builder
    • 815 Запуск примеров в C++ Builder
    • 815 Очистка экрана
    • 815 Создание нового проекта
    • 817 Задание имени и сохранение проекта
    • 817 Работа с существующими файлами
    • 818 Компиляция, связывание и запуск программ
      • 818 Запуск программы в C++ Builder
      • 818 Запуск программы в MS DOS
      • 818 Предварительно скомпилированные заголовочные файлы
      • 818 Закрытие и открытие проектов
    • 819 Добавление заголовочного файла к проекту
      • 819 Создание нового заголовочного файла
      • 819 Редактирование заголовочного файла
      • 819 Определение местонахождения заголовочного файла
    • 820 Проекты с несколькими исходными файлами
      • 820 Создание дополнительных исходных файлов
      • 820 Добавление существующих исходных файлов
      • 821 Менеджер проектов
      • 821 Программы с консольной графикой
    • 822 Отладка
      • 822 Пошаговый прогон
      • 822 Просмотр переменных
      • 822 Пошаговая трассировка функций
      • 823 Точки останова
  • 824 Приложение Д. Упрощенный вариант консольной графики
    • 825 Использование подпрограмм библиотеки консольной графики
    • 825 Функции библиотеки консольной графики
    • 827 Реализация функций консольной графики
      • 827 Компиляторы Microsoft
      • 828 Компиляторы Borland
    • 828 Листинги исходных кодов
  • 836 Приложение Е. Алгоритмы и методы STL
    • 836 Алгоритмы
    • 843 Методы
    • 845 Итераторы
  • 847 Приложение Ж. Ответы и решения
    • 847 Глава 1
    • 847 Глава 2
    • 849 Глава 3
    • 853 Глава 4
    • 855 Глава 5
    • 859 Глава 6
    • 862 Глава 7
    • 866 Глава 8
    • 871 Глава 9
    • 876 Глава 10
    • 881 Глава 11
    • 886 Глава 12
    • 889 Глава 13
    • 890 Глава 14
    • 894 Глава 15
    • 898 Глава 16
  • 899 Приложение З. Библиография
    • 899 Углубленное изучение С++
    • 900 Основополагающие документы
    • 900 UML
    • 901 История С++
    • 901 И другое
  • 902 Алфавитный указатель

Инструкция как скачать книгу Р. Лафоре: Объектно-ориентированное программирование в С++ в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Объектно-ориентированное программирование в С++
Рейтинг книги:
2 голоса
1071

Поиск книг:




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

Статистика: