Программирование на C++

  • Основы программирования на C++   ( 27 Материалы )

    В основе языка лежат следующие компоненты.

    1. Небольшой набор типов данных: логические, символьные, целочисленные и числа с плавающей запятой.

    2. Набор арифметических операторов, операторов отношения и логических опера­торов для работы с этими типами. Сюда входят не только обычные операторы, такие как сложение, равенство, «меньше, чем» и присваивание, но и менее рас­пространенные операторы приращения, условий и составные операторы при­сваивания.

    3. Набор таких операторов ветвлений и циклов, как операторы if и while, кото­рые позволяют координировать выполнение программы.

    4. Несколько таких составных типов, как указатель и массив. Они позволяют, со­ответственно, косвенно обращаться к существующим объектам и определять набор элементов одного типа.

    Стандартная библиотека общих программных абстракций, таких как строка и вектор.

  • Процедурное программирование   ( 24 Материалы )

    На практике не очень удобно записывать все программы в функции main(). Исключение составляют небольшие программки, которые пишет один человек. Обычно общие операции, например, вычисление элементов ряда Фибоначчи или генерирование случайного числа, выносят в независимые функции. Такой подход имеет три основных преимущества. Во-первых, программы становятся понятней, поскольку они представляют собой последовательность вызова функций, а не команд. Во-вторых, одну функцию можно использовать в нескольких программах. В-третьих, при таком подходе легче распределять работу среди нескольких программистов или групп.

  • Обобщенное программирование   ( 23 Материалы )

    Обобщенные алгоритмы поддерживают большое количество операций, применимых как к контейнерным классам, так и ко встроенным массивам. Такие алгоритмы называют обобщенными потому, что они не зависят ни от типа элементов, над которыми производятся операции (например, они могут иметь тип int, double, string), ни от типа контейнера, в котором эти элементы хранятся (это может быть, например, вектор, список или встроенный массив).

  • Программирование, основанне на объектах   ( 25 Материалы )
    Пользователи класса обычно, не интересуясь такими подробностями реализации, просто используют в программе открытый интерфейс. Таким образом, если не меняется открытый интерфейс класса, то не нужно изменять и программы, в которых этот класс используется, даже в случаях, когда его реализация меняется полностью.В данной главе мы перейдем от простого использования классов к созданию новых классов для себя и для других пользователей. Разработка и реализация классов являются основной работой программистов на C++.
  • Объектно-ориентированное программирование   ( 21 Материалы )

    Модель программирования, основанного на объектах, порождает некоторые неудобства, когда в программе появляются классы, имеющие небольшие отличия. Пусть, например, через некоторое время понадобилось создать классы Rental Book (арендуемая книга), AudioBook (аудиокнига) и inetractiveBook (интерактивная книга) в дополнение к исходному классу Book. Все классы используют одни и те же члены данных и функции-члены, но каждый их них имеет также свои, уникальные члены данных, представляющие состояние объектов класса. Класс может иметь (или не иметь) отдельный алгоритм для обработки выдачи книг и проверки сроков, но интерфейс у всех классов одинаковый.

  • Программирование с шаблонами   ( 12 Материалы )
    Разработав поддержку шаблонов в языке C++, Бьярн Страуструп назвал их параметризованными типами: «параметризованные» — потому что их можно вынести из определения шаблона, «типы» — потому что каждый класс или функция обычно изменяется в зависимости от одного или нескольких типов, с которыми она работает или которые она содержит. Фактический тип пользователь указывает позже.Впоследствии Страуструп изменил их название на более общее — шаблон. Одно определение шаблона служит инструкцией для автоматического создания уникального экземпляра функции или класса на основе указанного пользователем прототипа.
  • Обработка исключений   ( 7 Материалы )

    Итератор может оказаться в недопустимом состоянии, если значение члена данных index превысит максимально допустимое количество элементов, которые хранятся в статическом векторе класса Triangular. На первый взгляд такая ситуация маловероятна. Но если она все же возникнет, неправильное значение итератора, скорее всего, приведет к сбою программы. Плохо это и по другой причине — программисту, который использует класс итератора будет сложно найти и исправить ошибку.

  • Примеры кодов   ( 29 Материалы )

    Примеры кодов на C++, чтобы разобраться самостоятельно в данном языке программирования.

  • Справочник по обобщенным алгоритмам   ( 40 Материалы )

    Описание и принцип действия функций C++ с небольшими примерами.