C++ для начинающих

Электронное пособие по языку С++


1. Начинаем
   1.1 Решение задачи.
   1.2 Программа на языке C++.
   1.2.1 Порядок выполнения инструкций.
   1.3 Директивы препроцессора.
   1.4 Немного о комментариях.
   1.5 Первый взгляд на ввод/вывод.
   1.5.1 Файловый ввод/вывод.

2. Краткий обзор С++
   2.1. Встроенный тип данных "массив".
   2.2. Динамическое выделение памяти и указатели.
   2.3. Объектный подход.
   2.4. Объектно-ориентированный подход.
   2.5. Использование шаблонов.
   2.6. Использование исключений.
   2.7. Использование пространства имен
   2.8. Стандартный массив – это вектор

3. Типы данных С++
   3.1. Литералы
   3.2. Переменные
   3.2.1. Что такое переменная.
   3.2.2. Имя переменной
   3.2.3. Определение объекта
   3.3. Указатели
   3.4. Строковые типы
   3.4.1. Встроенный строковый тип.
   3.4.2. Класс string
   3.5. Спецификатор const
   3.6. Ссылочный тип
   3.7. Тип bool.
   3.8. Перечисления.
   3.9. Тип “массив”
   3.9.1. Многомерные массивы
   3.9.2. Взаимосвязь массивов и указателей.
   3.10. Класс vector
   3.11. Класс complex
   3.12. Директива typedef
   3.13. Спецификатор volatile
   3.14. Класс pair.
   3.15. Типы классов

4. Выражения
   4.1. Что такое выражение?
   4.2. Арифметические операции.
   4.3. Операции сравнения и логические операции.
   4.4. Операции присваивания.
   4.5. Операции инкремента и декремента.
   4.6. Операции с комплексными числами.
   4.7. Условное выражение.
   4.8. Оператор sizeof.
   4.9. Операторы new и delete.
   4.10. Оператор "запятая".
   4.11. Побитовые операторы.
   4.12. Класс bitset.
   4.13. Приоритеты.
   4.14. Преобразования типов.
   4.15. Пример: реализация класса Stack.

5. Инструкции
   5.1. Простые и составные инструкции.
   5.2. Инструкции объявления.
   5.3. Инструкция if.
   5.4. Инструкция switch.
   5.5. Инструкция цикла for.
   5.6. Инструкция while.
   5.7. Инструкция do while
   5.8. Инструкция break
   5.9. Инструкция continue
   5.10. Инструкция goto
   5.11. Пример связанного списка

6. Абстрактные контейнерные типы
Система текстового поиска.
Вектор или список?
Как растет вектор?
Как определить последовательный контейнер?
Итераторы.
Выделяем слова в строке.
Обрабатываем знаки препинания.
Приводим слова к стандартной форме.
Дополнительные операции со строками.
Строим отображение позиций слов.
Построение набора стоп-слов.
Окончательная программа.
Контейнеры multimap и multiset.
Стек.
Очередь и очередь с приоритетами.
Вернемся в классу iStack.

7. Функции
Введение.
Прототип функции.
Передача аргументов.
Возврат значения.
Рекурсия.
Встроенные функции.
Директива связывания extern "C".
Функция main():

8. Область видимости и время жизни
Область видимости.
Глобальные объекты и функции.
Локальные объекты.
Динамически размещаемые объекты.

9. Перегруженные функции
Объявления перегруженных функций.
Три шага разрешения перегрузки.
Преобразования типов аргументов.

10. Шаблоны функций
Определение шаблона функции.
Конкретизация шаблона функции.
Вывод аргументов шаблона.
Явное задание аргументов шаблона.
Разрешение перегрузки при конкретизации.
Разрешение имен в определениях шаблонов.
Пространства имен и шаблоны функций.
Пример шаблона функции.

11. Обработка исключений
Возбуждение исключений.
Try-блок.
Перехват исключений.
Спецификации исключений.
Исключения и вопросы проектирования.

12. Обобщенные алгоритмы
Краткий обзор.
Использование обобщенных алгоритмов.
Объекты-функции.
Еще раз об итераторах.
Обобщенные алгоритмы.

13. Классы
Определение класса.
Объекты классов.
Функции-члены класса.
Неявный указатель this.
Статические члены класса.
Указатель на член класса.

14. Инициализация, присваивание и уничтожение класса
Инициализация класса.
Конструктор класса.
Деструктор класса.
Массивы и векторы объектов.

15. Перегруженные операторы и определенные пользователем преобразования
Перегрузка операторов.
Друзья.
Оператор =.
Оператор взятия индекса.

16. Шаблоны классов
Определение шаблона класса.
Конкретизация шаблона класса.
Функции-члены шаблонов классов.
Объявления друзей в шаблонах классов.

17. Наследование и подтипизация классов
Определение иерархии классов.
Идентификация членов иерархии.
Доступ к членам базового класса.

18. Множественное и виртуальное наследование
Готовим сцену
Множественное наследование.
Открытое, закрытое и защищенное наследование.

19. Применение наследования в C++
Идентификация типов во время выполнения.
Исключения и наследование.
Разрешение перегрузки и наследование A.

20. Библиотека iostream
Оператор вывода <<
Ввод.
Дополнительные операторы ввода/вывода.
Перегрузка оператора вывода.
Перегрузка оператора ввода.

21. Обобщенные алгоритмы в алфавитном порядке
Алгоритм adjacent_difference()
Алгоритм adjacent_find()
Алгоритм binary_search()
Содержание

Реклама