Приветствую Вас, Гость! Регистрация RSS
Суббота, 2024-11-16
Главная » 2018 » Май » 29 » C++ для начинающих
17:28
C++ для начинающих

С++ для начинающих — Книга известного американского специалиста и популяризатора языков программирования, посвященная основам языка С++. Начиная с таких базовых понятий языка> как типы данных, массивы, строки,указатели и функции, книга охватывает также важнейшие элементы объёктно-ориентированного программирования - классы и объекты, наследование,' виртуальные функции, потоки ввода--вывода, исключения и шаблоны. Каждый раздел сопровождается простыми и наглядными примерами, дозволяющими получить практические навыки современного программирования. Книга предназначена для приступающих к изучению языка С++ -одного из самых универсальных и распространенных на сегодня языков программирования.

Название: C++ для начинающих
Автор: Шилдт Герберт
Издательство: Знание
Год: 2013
Страниц: 640
Формат: DJVU, PDF
Размер: 41,49 МБ
Качество: Отличное
Серия: Шаг за шагом

Содержание:

Выходные данные
От переводчика
Предисловие
МОДУЛЬ 1. Основы C++
Краткая история C++
Потребность в C++
C++ родился
Эволюция C++
Как C++ соотносится с языками Java и C#
Объектно-ориентированное программирование
Инкапсуляция
Полиморфизм
Наследование
Первая простая программа
Ввод программы
Компиляция программы
Запуск программы
Первый программный пример строка за строкой
Обработка синтаксических ошибок
Вторая простая программа
Использование операторов
Ввод с клавиатуры
Некоторые дополнительные возможности вывода
Еще один тип данных
Проект 1 -1: Преобразование футов в метры
Два управляющих предложения
Предложение if
Цикл for
Использование программных блоков
Знак точки с запятой и позиционирование
Практика использования отступов
Проект 1-2: Создание таблицы преобразования футов в метры
Знакомимся с функциями
Библиотеки C++
Ключевые слова C++
Идентификаторы
Вопросы для самопроверки
МОДУЛЬ 2. Знакомимся с данными, типами и операторами
Почему так важны типы данных
Типы данных C++
Целые числа
Символы
Типы данных с плавающей точкой
Булев тип данных
Тип void
Проект 2-1: Разговор с Марсом
Литералы
Шестнадцатеричные и восьмеричные литералы
Строковые литералы
Символьные Esc-последовательности
Подробнее о переменных
Инициализация переменной
Динамическая инициализация
Операторы
Арифметические операторы
Инкремент и декремент
Операторы отношения (сравнения) и логические
Проект 2-2: Конструирование логической операции исключающее ИЛИ
Оператор присваивания
Составные присваивания
Преобразование типов в операциях присваивания
Выражения
Преобразование типа в выражениях
Приведение типа
Пробелы и скобки
Проект 2-3: Вычисление регулярных платежей по ссуде
Вопросы для самопроверки
МОДУЛЬ. 3. Предложения управления программой
Предложение if
Условные выражения
Вложенные предложения if
Цепочка if-else-if
Предложение switch
Вложенные предложения switch
Проект 3-1: Начинаем строить справочную систему C++
Цикл for
Некоторые варианты цикла for
Опущенные секции
Бесконечный цикл for
Цикл с отсутствующим телом
Объявление переменных управления циклом внутри цикла for
Цикл while
Цикл do-while
Проект 3-2: Усовершенствование справочной системы C++
Использование break для выхода из цикла
Использование continue
Проект 3-3: Завершаем разработку справочной системы C++
Вложенные циклы
Использование предложения goto
Вопросы для самопроверки
МОДУЛЬ 4. Массивы, строки и указатели
Одномерные массивы
Границы не проверяются!
Двумерные массивы
Многомерные массивы
Проект 4-1: Упорядочение массива
Строки
Основы техники строк
Ввод строки с клавиатуры
Некоторые библиотечные функции обработки строк
strcpy()
strcat()
strcmp()
strlen()
Пример обработки строк
Использование завершающего нуля
Инициализация массивов
Инициализация массивов неопределенной длины
Массивы строк
Указатели
Что такое указатели?
Операторы указателей
Базовый тип указателя имеет большое значение
Операции присваивания посредством указателя
Выражения с указателями
Арифметика указателей
Сравнение указателей
Указатели и массивы
Индексация указателя
Строковые константы
Проект 4-2: Переворачивание строки
Массивы указателей
Соглашение о нулевом указателе
Указатель на указатель
Вопросы для самопроверки
МОДУЛЬ 5. Введение в функции
Основы функций
Общая форма определения функции
Создание функции
Использование аргументов
Использование предложения return
Возвращаемые значения
Использование функций в выражениях
Правила видимости
Локальная область видимости
Глобальная область видимости
Передача в функции указателей и массивов
Передача указателя
Передача массива
Передача строк
Возврат указателей
Функция main()
argc и argv: аргументы функции main()
Передача числовых аргументов командной строки
Прототипы функций
Заголовки содержат прототипы
Рекурсия
Проект 5-1: Быстрое упорядочение
Вопросы для самопроверки
МОДУЛЬ 6. Подробнее о функциях
Два подхода к передаче аргументов
Как C++ передает аргументы
Использование указателя для создания вызова по ссылке
Параметры-ссылки
Возврат ссылок
Независимые ссылочные переменные
Несколько ограничений при использовании ссылочных пере менных
Перегрузка функций
Автоматическое преобразование типов и перегрузка
Проект 6-1: Создание перегруженных функций для вывода на экран
Аргументы функций с инициализацией по умолчанию
Аргументы с инициализацией по умолчанию или перегрузка?
Правильное использование аргументов с инициализацией по умолчанию
МОДУЛЬ 7. Подробнее о типах данных и операторах
Описатели const и volatile
const
volatile
Описатели классов памяти
auto
extern
Статические переменные
Регистровые переменные
Перечислимые типы
typedef
Побитовые операторы
Операторы И, ИЛИ, исключающее ИЛИ и НЕ
Операторы сдвига
Проект 7-1: Создание функций циклического побитового сдвига
Оператор?
Оператор-запятая
Множественное присваивание
Составное присваивание
Использование оператора sizeof
Обзор относительных приоритетов
Вопросы для самопроверки
МОДУЛЬ 8. Классы и объекты
Основы классов
Общая форма класса
Определение класса и создание оъектов
Добавление в класс функций-членов
Проект 8-1: Создание класса справочника
Конструкторы и деструкторы
Параметрические конструкторы
Добавление конструктора в класс Vehicle
Другой способ инициализации
Встроенные функции
Создание встроенных функций внутри класса
Проект 8-2: Создание класса очереди
Массивы объектов
Инициализация массивов объектов
Указатели на объекты
Ссылки на объекты
Вопросы для самопроверки
МОДУЛЬ 9. Подробнее о классах
Перегрузка конструкторов
Присваивание объектов
Передача объектов функциям
Конструкторы, деструкторы и передача объектов
Передача объектов по ссылке
Потенциальные проблемы при передаче объектов
Возврат объектов
Создание и использование конструктора копий
Дружественные функции
Структуры и объединения
Структуры
Объединения
Ключевое слово this
Перегрузка операторов
Перегрузка операторов с использованием функций-членов
Другие вопросы
Использование функций-членов для перегрузки унарных операторов
Операторные функции-не члены
Использование дружественной функции для перегрузки унарного оператора
Советы и ограничения при перегрузке операторов
Проект 9-1: Создание класса, определяющего множество
Вопросы для самопроверки
МОДУЛЬ 10. Наследование, виртуальные функции и полиморфизм
Основы наследования
Доступ к членам и наследование
Управление доступом к базовому классу
Использование защищенных членов
Конструкторы и наследование
Вызов конструктора базового класса
Проект 10-1: Расширение класса Vehicle
Создание многоуровневой иерархии классов
Наследование от нескольких базовых классов
Когда выполняются функции конструктора и деструктора
Указатели на производные классы
Ссылки на производные типы
Виртуальные функции и полиморфизм
Основы виртуальных функций
Виртуальные функции наследуются
Зачем нужны виртуальные функции?
Приложение виртуальных функций
МОДУЛЬ 11. C++ и система ввода-вывода
Старая и новая системы ввода-вывода
Потоки C++
Предопределенные потоки C++
Потоковые классы C++
Перегрузка операторов ввода-вывода
Создание операторных функций вывода
Использование дружественных функций для перегрузки операторов вывода
Перегрузка операторов ввода
Использование манипуляторов ввода-вывода
Создание собственных манипуляторных функций
Файловый ввод-вывод
Открытие и закрытие файла
Чтение и запись текстовых файлов
Неформатированный и двоичный ввод-вывод
Чтение и запись блоков данных
Больше о функция ввода-вывода
Другие варианты get()
getline()
Обнаружение символа EOF
peek() и putback()
flush()
Проект 11-1: Утилита сравнения файлов
Произвольный доступ
Определение состояния ввода-вывода
Вопросы для самопроверки
МОДУЛЬ 12. Исключения, шаблоны и другие дополнительные темы
Обработка исключений
Основы обработки исключений
Использование группы предложений catch
Улавливание всех исключений
Задание исключений, выбрасываемых функцией
Вторичное выбрасывание исключения
Шаблоны
Родовые функции
Функция с двумя родовыми типами
Явная перегрузка родовых функций
Родовые классы
Явные специализации класса
Проект 12-1: Создание родового класса очереди
Динамическое выделение памяти
Инициализация выделенной памяти
Выделение памяти под массивы
Выделение памяти под объекты
Пространства имен
Основы использования пространств имен
Предложение using
Безымянные пространства имен
Пространство имен std
Статические члены классов
Статические переменные-члены
Статические функции-члены
Динамическая идентификация типов (RTTI)
Операторы приведения типа
dynamic_cast
const_cast
static_cast
reinterpret_cast
Что дальше?
Вопросы для самопроверки
Приложение А. Ответы на Вопросы для самопроверки
Приложение В. Препроцессор
#define
Макросы, подобные функциям
#еггог
#include
Директивы условной компиляции
#if, #else, #elif и #endif
#ifdef и #ifndef
#undef
Использование defined
#line
#pragma
Операторы препроцессора # и ##
Предопределенные макросы
Приложение С. Работа со старым компилятором C++
Два простых изменения
Предметный указатель

Категория: Разное | Просмотров: 144 | Добавил: Gunpowder
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]