Объектно-ориентированное программирование в С++
Р. Лафоре
Благодаря этой книге тысячи пользователей овладели технологией объектно-ориентированного программирования в С++. В ней есть все: основные принципы языка, готовые полномасштабные приложения, небольшие примеры, поясняющие теорию, и множество полезных иллюстраций. Книга пользуется стабильным успехом в учебных заведениях благодаря тому, что содержит более 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 Вопросы
- 32 Для чего нужно объектно-ориентированное программирование?
- 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 Упражнения
- 142 Структуры
- 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 Упражнения
- 169 Простые функции
- 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 Упражнения
- 217 Простой класс
- 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 Упражнения
- 262 Основы массивов
- 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 Упражнения
- 313 Перегрузка унарных операций
- 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 Упражнения
- 362 Базовый и производный классы
- 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 Упражнения
- 476 Виртуальные функции
- 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 Упражнения
- 536 Потоковые классы
- 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 Проекты
- 596 Причины использования многофайловых программ
- 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 Упражнения
- 640 Шаблоны функций
- 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 Упражнения
- 682 Введение в STL
- 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 Проекты
- 752 Эволюция процесса создания программного обеспечения
- 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