492-347-068
order#superkniga.com.ua
Реклама
|
|
|
Книги компьютерные - Книги C, C++,С# Купить книгу Книга Программирование на C++. Классика CS. Коплиен |
|
|
107.8 грн.
|
|
Эта книга написана для программистов, уже владеющих языком C++ и желающих поднять свою квалификацию на новый уровень. Давая представление о стиле и идиоматике языка, книга знакомит читателя с теми нетривиальными знаниями, которые опытные программисты C++ получают на личном опыте. Она показывает, что C++ можно использовать и для разработки простых абстракций данных, и для полноценной реализации абстрактных типов данных, и для объектно-ориентированного программирования различных стилей. Кроме того, в ней исследуются идиомы, не поддерживаемые напрямую на базовом уровне C++, например, функциональное и фреймовое программирование, а также расширенные методы "сборки мусора".
Содержание
Предисловие
- Изучение языка программирования
- О книге
- Структура книги
- Благодарности
- От издателя перевода
Глава 1. Введение
- 1.1. C++ как развивающийся язык
- 1.2. Решение проблемы сложности при помощи идиом
- 1.3. Объекты для 90-х
- 1.4. Проектирование и язык
- Литература
Глава 2. Абстракция и абстрактные типы данных
- 2.1. Классы
- 2.2. Объектная инверсия
- 2.3. Конструкторы и деструкторы
- 2.4. Подставляемые функции
- 2.5. Инициализация статических переменных
- 2.6. Статические функции классов
- 2.7. Область видимости и константность
- 2.8. Порядок инициализации глобальных объектов, констант и статических членов классов
- 2.9. Обеспечение константности функций классов
- Логическая и физическая константность
- 2.10. Указатели на функции классов
- 2.11. Правила организации программного кода
- Упражнения
- Литература
Глава 3. Конкретные типы данных
- 3.1. Ортодоксальная каноническая форма класса
- 3.2. Видимость и управление доступом
- 3.3. Перегрузка — переопределение семантики операторов и функций
- Пример перегрузки оператора индексирования
- Перегрузка операторов в классах и глобальная перегрузка
- 3.4. Преобразование типа
- 3.5. Подсчет ссылок
- Идиома класса-манипулятора
- Экономное решение
- Подсчет указателей
- Реализация подсчета ссылок в существующих классах
- Классы конвертов и синглетные письма
- 3.6. Операторы new и delete
- 3.7. Отделение инициализации от создания экземпляра
- Упражнения
- Литература
Глава 4. Наследование
- 4.1. Простое наследование
- Настройка операций класса Complex для семантики класса Imaginary
- Использование кода базового класса в производном классе
- Изменение функций производного класса для повышения эффективности
- 4.2. Видимость и управление доступом
- Вертикальное управление доступом при наследовании
- Горизонтальное управление доступом при наследовании
- Создание экземпляров путем наследования и управления доступом
- 4.3. Конструкторы и деструкторы
- Порядок выполнения конструкторов и деструкторов
- Передача параметров конструкторам базовых классов и внутренних объектов
- 4.4. Преобразование указателей на классы
- 4.5. Селектор типа
- Упражнения
- Литература
Глава 5. Объектно-ориентированное программирование
- 5.1. Идентификация типов на стадии выполнения и виртуальные функции
- 5.2. Взаимодействие деструкторов и виртуальные деструкторы
- 5.3. Виртуальные функции и видимость
- 5.4. Чисто виртуальные функции и абстрактные базовые классы
- 5.5. Классы конвертов и писем
- Классы конвертов и делегированный полиморфизм
- Имитация виртуальных конструкторов
- Другой подход к виртуальным конструкторам
- Делегирование и классы конвертов
- Итераторы и курсоры
- 5.6. Функторы
- Функциональное и аппликативное программирование
- 5.7. Множественное наследование
- Пример абстракции окна
- Неоднозначность при вызове функций класса
- Неоднозначность в данных
- Виртуальные базовые классы
- Предотвращение лишних вызовов функций виртуальных базовых классов
- Виртуальные функции
- Преобразование указателей на объекты при множественном наследовании
- 5.8. Каноническая форма наследования
- Упражнения
- Пример итератора очереди
- Простые классы счетов для банковского приложения
- Литература
Глава 6. Объектно-ориентированное проектирование
- 6.1. Типы и классы
- 6.2. Основные операции объектно-ориентированного проектирования
- 6.3. Объектно-ориентированный и доменный анализ
- Причины увеличения объема проектирования
- Способы расширения абстракций
- Балансировка архитектуры
- Результаты хорошей балансировки архитектуры
- 6.4. Отношения между объектами и классами
- Отношения “IS-A”
- Отношения “HAS-A”
- Отношения “USES-A”
- Отношения “CREATES-A”
- Контекстное изучение отношений между объектами и классами
- Графическое представление отношений между объектами и классами
- 6.5. Субтипы, наследование и перенаправление
- Наследование ради наследования — ошибка потери субтипов
- Случайное наследование — омонимы в мире типов
- Потребность в функциях классов с “истинной” семантикой
- Наследование и независимость классов
- 6.6. Практические рекомендации
- Упражнения
- Литература
Глава 7. Многократное использование программ и объекты
- 7.1. Об ограниченности аналогий
- 7.2. Многократное использование архитектуры
- 7.3. Четыре механизма многократного использования кода
- 7.4. Параметризованные типы, или шаблоны
- 7.5. Закрытое наследование и многократное использование
- 7.6. Многократное использование памяти
- 7.7. Многократное использование интерфейса
- 7.8. Многократное использование, наследование и перенаправление
- 7.9. Архитектурные альтернативы для многократного использования исходных текстов
- 7.10. Общие рекомендации относительно многократного использования кода
- Упражнения
- Литература
Глава 8. Прототипы
- 8.1. Пример с прототипами класса Employee
- 8.2. Прототипы и обобщенные конструкторы
- 8.3. Автономные обобщенные конструкторы
- 8.4. Абстрактные базовые прототипы
- 8.5. Идиома фреймовых прототипов
- 8.6. Условные обозначения
- 8.7. Прототипы и администрирование программ
- Упражнения
- Простой анализатор с прототипом
- Фреймовые прототипы
- Литература
Глава 9. Эмуляция символических языков на C++
- 9.1. Инкрементное программирование на C++
- Инкрементный подход и объектно-ориентированное проектирование
- Сокращение затрат на компиляцию
- Сокращение затрат на компоновку и загрузку
- Ускоренные итерации
- 9.2. Символическая каноническая форма
- Класс Top
- Класс Thing
- Символическая каноническая форма для классов приложений
- 9.3. Пример обобщенного класса коллекции
- 9.4. Код и идиомы поддержки инкрементной загрузки
- Загрузка виртуальных функций
- Обновление структуры класса и функция cutover
- Инкрементная загрузка и автономные обобщенные конструкторы
- 9.5. Уборка мусора
- Пример иерархии геометрических фигур с уборкой мусора
- 9.6. Инкапсуляция примитивных типов
- 9.7. Мультиметоды в символической идиоме
- Упражнения
- Литература
Глава 10. Динамическое множественное наследование
- 10.1. Пример оконной системы с выбором технологии
- 10.2. Предостережение
Глава 11. Системные аспекты
- 11.1. Статическая системная структура
- Транзакционные диаграммы
- Модули
- Подсистемы
- Каркасы
- Библиотеки
- 11.2. Динамическая системная структура
- Планирование
- Контексты
- Взаимодействие между пространствами имен
- Обработка исключений
- Зомби
- Литература
Приложение А. C в среде C++
- А.1. Вызовы функций
- А.2. Параметры функций
- А.3. Прототипы функций
- А.4. Передача параметров по ссылке
- А.5. Переменное количество параметров
- А.6. Указатели на функции
- А.7. Модификатор const
- Пример 1. Использование модификатора const вместо директивы #define
- Пример 2. Модификатор const и указатели
- Пример 3. Объявление функций с константными аргументами
- А.8. Взаимодействие с кодом C
- А.8.1. Архитектурные аспекты
- А.8.2. Языковая компоновка
- А.8.3. Вызов функций C++ из C
- А.8.4. Совместное использование заголовочных файлов в C и C++
- А.8.5. Импорт форматов данных C в C++
- А.8.6. Импорт форматов данных С++ в С
- Упражнения
- Литература
Приложение Б. Программа Shapes
Приложение В. Ссылочные возвращаемые значения операторов
Приложение Г. Поразрядное копирование
Приложение Д. Иерархия геометрических фигур в символической идиоме
Приложение Е. Блочно-структурное программирование на C++
- E.1. Концепция блочно-структурного программирования
- Е.2. Основные строительные блоки структурного программирования на C++
- Е.3. Альтернативное решение с глубоким вложением областей видимости
- E.4. Проблемы реализации
- Упражнения
- Код блочно-структурной видеоигры
- Литература
Приложение Ж. Список терминов
Алфавитный указатель
|
Быстрый фильтр: Книга | Программирование | на | C++ | | Классика | CS | | Коплиен | |
Доставка Книга Программирование на C++. Классика CS. Коплиен почтой наложным платежом.
|
|
|
|
|
|
|
Купить книгу в разделе Книги компьютерные - Книги C, C++,С# |
|
|
Книга Visual C++ 6. Учебный курс. Холзнер. |
Данный курс состоит из 14 уроков, последовательно описывающих приемы работы с Visual C++, которыми необходимо овладеть каждому, кто хочет создать собственную программу. Книга начинается с простейшей задачи - создания интерфейса приложения, а заканчивается разделами, посвященными программированию для Интернета и разработке элементов управления Active X. |
|
|
|
|
|
|
|
|
|
|
|
|