Условные операторы. Оператор выбора.
http://firstdev.org/post/programmirovanie/c/operatori-vibora-v-c/
http://cppstudio.com/post/286/
Циклические операторы.
Методичка
Типы переменных и констант
http://firstdev.org/post/programmirovanie/c/peremennie-konstanti-tipi-dannih-operacii-v-c/
9)Массивы. Описание, приемы работы с массивами.
Методичка
http://cppstudio.com/post/389/
Модули. Обеспечение областей видимости данных и функций в многомодульных проектах.
http://firstdev.org/post/programmirovanie/c/oblast-vidimosti-peremennih/
Строки. Работа со строками
Тетрадь
http://cppstudio.com/post/437/
Функции. Структура, прототипы, виды параметров.
http://victor192007.narod.ru/files/cpp18.html
Функции. Оператор return. Глобальные и локальные переменные.
http://lord-n.narod.ru/download/books/walla/programming/Spr_po_C/06/0605.htm
Локальные и глобальные переменные
Все объявления в теле функции носят локальный характер. Объявленные переменные доступны только внутри данной функции. Если их имена совпадают с именами каких–то глобальных переменных модуля, то эти внешние переменные становятся невидимыми и недоступными. В этих случаях получить доступ к глобальной переменной можно, поставив перед ее именем два двоеточия ”::”, то есть применив унарную операцию разрешения области действия. Например, выражение ::i означает глобальную переменную i, даже если в функции она объявлена локальной. 132 Программирование в системе C++Builder с использованием подпрограмм Локальные переменные не просто видны только в теле функции, но по умолчанию они и существуют только внутри функции, создаваясь в момент вызова и уничтожаясь в момент выхода из функции. Если требуется этого избежать, соответствующие переменные объявляются со спецификацией static.
Указатели, ссылки. Передача массивов в качестве параметров функции.
Методичка
Передача параметров функции по умолчанию
Методичка
Классы. Инкапсуляция
Тетрадь
Инкапсуляция представляет собой механизм, который связывает вместе код и данные и который хранит их от внешнего воздействия и от неправильного использования. Более того, именно инкапсуляция позволяет создавать объект. Попросту говоря, объект представляет собой логическое целое, включающее в себя данные и код для работы с этими данными. Мы можем определить часть кода и данных как собственность объекта, которая недоступна извне. На этом пути объект обеспечивает существенную защиту против случайной модификации или некорректного использования таких частных (private) членов объекта.
Во всех случаях объект представляет собой переменную, тип которой определяется пользователем. На первый взгляд может показаться странным представлять себе объект, который соединяет вместе и код и данные, как переменную. Тем не менее в объектном программировании дело обстоит именно так. Когда определяется объект, неявным образом создается новый тип переменной.
Классы. Полиморфизм.
Тетрадь
Объектно-ориентированные языки программирования поддерживают полиморфизм, который характеризуется следующей фразой: «один интерфейс — множество методов». Попросту говоря, полиморфизм представляет собой атрибут, который позволяет использовать один и тот же интерфейс при реализации целого класса различных действий. Выбор того, какое именно действие будет совершено, определяется конкретной ситуацией. Проиллюстрировать понятие полиморфизма можно на примере регулятора температуры. Неважно, каким типом обогревательного прибора отапливается дом (с использованием газа, масла, электричества и т.д.). Во всех случаях регулятор температуры работает одинаково. Он является интерфейсом, который не зависит от нагревательного прибора (метода), который используется. Просто-напросто, если надо иметь температуру 20 градусов по Цельсию, на регуляторе температуры задается эта величина. Неважно, какой нагревательный прибор фактически обеспечивает нагрев.
Тот же самый принцип может быть применен к программированию. Например, рассмотрим случай программы, которая определяет три различных типа списков. Один из них используется для целых чисел, другой — для символов и третий — для значений с плавающей запятой. Благодаря полиморфизму можно создать два набора функций, имеющих одинаковое имя push() (поместить) и рор() (извлечь) — по одной для каждого типа данных. Общая концепция (интерфейс) заключается в том, чтобы вставлять и извлекать данные в список и из списка. Функции определяют специфические способы (методы), с помощью которых эти операции выполняются для каждого типа данных. Когда данные вставляются в список, автоматически вызывается та версия функции push(), которая соответствует типу обрабатываемых данных.
Полиморфизм помогает уменьшить сложность программы, позволяя использовать один и тот же интерфейс для задания целого класса действий. Задача выбора специфического действия (то есть метода) в зависимости от конкретной ситуации возлагается на компилятор. Программисту нет необходимости делать такой выбор вручную. Требуется только запомнить и использовать общий интерфейс.
Первые объектно-ориентированные языки программирования были интерпретаторами, поэтому полиморфизм поддерживался в режиме времени выполнения. Однако поскольку С++ представляет собой компилятор, то полиморфизм поддерживается как в режиме времени выполнения, так и на этапе компиляции.
Классы. Наследование
Тетрадь
Наследование представляет собой процесс, благодаря которому один объект может наследовать, приобретать свойства от другого объекта. Это свойство поддерживает концепцию классификации, чем и обусловливается его важность. Эта концепция лежит в основе классификации знаний. Например, красное яблоко представляет собой часть класса яблоко, который, в свою очередь, представляет собой часть класса фрукт, который в свою очередь входит в больший класс продукты питания. Без использования классификации каждый объект должен был бы определять все свои характеристики явным образом. На основе классификации объект нуждается только в определении таких качеств, которые отличают его от других объектов этого класса. Благодаря механизму наследования объект может характеризоваться в рамках классификации общего и частного.