В книге содержится обширный справочный материал по основным элементам языка, включающий в себя наиболее употребительные функции, операторы, директивы и классы, являющиеся ядром языка С++, не зависящим от аппаратной платформы или версии языка. Последовательно и подробно изложен процесс создания языка. Обзор способов решения различных задач представляется в виде сравнения возможностей двух языков С и С++. Такая насыщенность информацией делает книгу полезной не только программистам, но и всем пользователям, активно работающим с С и С++.
Название: C++. Специальный справочник Автор: Карпов Б., Баранова Т. Издательство: Питер Год: 2003 Страниц: 479 Формат: DJVU Размер: 2,77 МБ ISBN: 5-272-00076-5 Качество: Хорошее
Содержание:
Введение C и C++ Объекты Инкапсуляция Полиморфизм Подход к типам в C++ Структура книги Кому адресована эта книга Принятые обозначения От издательства Часть I. Справочник по основным элементам C++ Словарь терминов и понятий Абстрактные типы данных Абстрактный класс Абстракция данных Агрегаты Анонимные объединения Аргумент Ассоциативность Базовый класс Беззнаковые типы данных Безопасная сборка программы с учетом типов Битовое поле Булевы значения Виртуальная функция Вложенные управляющие структуры и вложенные классы Встраиваемая функция Выражение Главная функция Данные-члены Декорирование Деструктор Директива Директива препроцессора Дополнительный формат Знакорасширение Значения аргументов но умолчанию Идентификатор Именующее выражение Инкапсуляция Инструкция Информация о типах во время выполнения программы Исключение Исполняемая инструкция Класс Класс памяти Ключевое слово Комментарии Константа Конструктор Конструктор базового класса Конструктор копирования Конструктор по умолчанию Косвенность Литерал Логические и битовые операторы Макрос Массив Метка Множественное наследование Надкласс Наследование Область действия Объект Объектная ориентация Объектно-ориентированное программирование Объявление Операнд Оператор Операторы присваивания Определение Параметр Перегрузка операторов Перегрузка функций Переменная Перечисление Подкласс Полиморфизм Прагма Приведение типа Приоритет Продвижение Производный класс Простейшие типы данных Пространство имен Прототип Прототип функции Пустая инструкция Разыменование Реализация Рекурсия Сигнатура Символ новой строки Сложные типы данных Создание экземпляров класса Составные инструкции Ссылка Ссылка вперед Строка Строковый литерал Текстовая строка Указатель Указатель на функцию Управляющая последовательность Управляющая структура Условная компиляция Файлы заголовков Функции Функции обратного вызова Функции преобразования Функция-член Чистая виртуальная функция Член Шаблон Экземпляр Экземпляр класса Типы данных bool char unsigned char signed char int unsigned int short unsigned short long unsigned long float double long double wchar_t Операторы Ключевые слова - операторы Оператор sizeof Оператор new Оператор delete Оператор typeid Операторы присваивания Поразрядные операторы Оператор запятая Декремент Инкремент Условный оператор Логические операторы Оператор деления по модулю Операторы-указатели Операторы-указатели на член объекта Операторы отношения Оператор определения области видимости Ораторы приведения типов Оператор приведения типа старого стиля Удаление модификатора const Проверка типа во время выполнения программы Приведение типа указателя Преобразование типа между родственными объектами или указателями Ключевые слова asm auto break case catch class const continue default do else enum explicit extern for friend goto if inline main mutable namespace operator private protected public register return static struct switch template this throw try typedef union using virtual void volatile while Директивы, макросы и операторы препроцессора Директивы #define #elif #else #endif #error #if #ifdef #ifndef #include #line #pragma #undef Предопределенные макросы _cplusplus _DATE_ _FILE_ _LINE_ _TIME_ Операторы препроцессора Библиотечные функции Обзор библиотечных функций Поддержка списков параметров переменной длины Функции консольного ввода/вывода Обзор Чтение символов с клавиатуры Чтение чисел с клавиатуры Вывод символов на экран Сравнение консольного и файлового ввода/вывода Функции проверки категории символов Функции работы с блоками памяти Функции работы с датой и временем Обзор Использование структуры tm Сложное формирование даты/времени Функции работы со строками Функции файлового ввода/вывода Обзор Чтение и запись текстовых файлов Чтение и запись двоичных файлов Сводный список функций Объекты и классы библиотеки ввода/вывода Краткий обзор библиотеки классов ввода/вывода Организация ввода/ вывода с помощью классов Расширение оператора вывода Расширение оператора ввода Манипуляторы ввода/вывода Флаги форматирования Классы нового стиля Обзор объектов и классов ввода/вывода C++ cerr cin clog cout fstream ifstream istream istrstream ofstream ostream ostrstream strstream Часть II. Краткий курс программирования на C++ Основные особенности программирования на C++ Первая программа на C++ Объявление переменных Директива #include Ввод данных Операции, выражения и комментарии Функции Локальные, глобальные и другие переменные Управляющие инструкции Особые операции C++ Логические операции и операции над битами Операции над полями бит Указатели, массивы и строки Указатели и передача данных Передача данных по ссылке Одномерные массивы Многомерные массивы и их размещение в памяти компьютера Инициализация массивов Массивы и указатели Строки Указатели и динамическое распределение памяти Использование стандартных функций mailoc и free Использование операторов new и delete Ввод и вывод Понятие потока Операторы потоков для ввода/вывода Управление форматом при работе с потоками Ввод/вывод строк с помощью библиотеки stdio.h Функции для работы с файлами в библиотеке stdio.h Операторы потоков для работы с файлами Операторы или функции? Классы Создание нового класса Поведение класса Объекты класса Указатели на объекты Достоинства классов Конструкторы и деструкторы: рождение и смерть объектов Определение встраиваемой функции Структура как разновидность класса Конструкторы Перегрузка конструкторов Конструктор по умолчанию Конструктор копирования Ссылки и конструктор копирования Защита параметра от изменений Примеры конструкторов Вызов конструкторов и конверсия Перегрузка операторов Базовый синтаксис Создание функций оператора сложения Для чего нужны функции-друзья Создание функции оператора присваивания Указатель this и его использование при создании функций Создание функции преобразования Обобщение класса MyStr Еще один пример перегрузки операторов Обобщение определения операторов Имя функции оператора Бинарные операторы Унарные операторы Оператор присваивания Присваивание переменных разных типов Специальные операторы присваивания Операторы инкремента и декремента Оператор выделения элемента массива Операторы new и delete Оператор вызова функции Ограничения на перегрузку операторов Наследование Дилемма программного обеспечения Создание производного класса Иерархия наследования Создание класса без наследования Наследование и оболочка объекта Виды доступа: public, private и protected Пример создания класса Конструкторы базовых классов Базовые классы и указатели Виртуальные функции Применение ключевого слова virtual Программирование команд меню Достоинства виртуальных функций Чистые виртуальные функции и абстрактные классы Определение виртуальной функции Механизм вызова виртуальных функций Часть III. Приложения Отличия C и C++ Особенности ANSI C++ Новый стиль файлов заголовков Операторы приведения типов ANSI Шаблоны и обработка исключений Новые ключевые слова Область видимости в условной инструкции if Перегрузка функций с перечисляемыми типами Ссылки вперед для вложенных классов Стандартные исключения Таблица ASCII-кодов Список характерных задач в C++ Алфавитный указатель