- •Часть 1:
- •Имена, их области существования и видимости.
- •Объявления и определения.
- •Атрибуты компоновки имен.
- •Использование имен на различных стадиях создания программ.(спросить)
- •Объекты, их типы и классы памяти.
- •Имена типов данных. (спросить)
- •Встроенные и составные типы данных. Квалификатор const.
- •Рекурсивный вызов функций. Тип «указатель на функцию» (спросить). 82
- •Перегрузка функций.
- •Шаблоны функций.
- •Часть 2:
- •Процедурное и объектно-ориентированное программирование.
- •Понятие класса.
- •Работа с this.
- •Конструкторы и деструкторы, их вызов.
- •Уровни доступа. Использование дружественных классов.
- •Перегрузка операций.
- •Абстрактные базовые классы.
- •Шаблоны классов.
- •Часть 3:
- •Множественное наследование.
- •Явные преобразования static_cast, dynamic_cast.
- •Обработка исключительных ситуаций.
Заголовочный файл < iostream. h> содержит описание набора классов для управления вводом/выводом. В нем определены стандартные объекты-потоки сin для ввода с клавиатуры и cout для вывода на экран, а также операции помещения в поток « и чтения из потока ».
Часть 1:
Методика создания программ, заложенная в языке C++.
1) Написать исходный код
2) скомпилировать исходный код
3) линкование: сохраняются имена внешних объектов и функций. Остальные имена используются на стадии компиляции.
Имена, их области существования и видимости.
Имя – это служебные символы. Используются для обозначения объектов, функций, типов, значений, меток. Все имена кроме меток до их использования должны быть объявлены.
Существуют следующие области действия: блок, файл, функция, прототип функции, класс и поименованная область.
Блок. Идентификаторы, описанные внутри блока, являются локальными. Область действия идентификатора начинается в точке определения и заканчивается
в конце блока, видимость — в пределах блока и внутренних блоков, время
жизни — до выхода из блока. После выхода из блока память освобождается.
Файл. Идентификаторы, описанные вне любого блока, функции, класса или пространства
имен, имеют глобальную видимость и постоянное время жизни и мо-
1ут использоваться с момента их определения.
Функция. Единственными идентификаторами, имеющими такую область действия,
являются метки операторов. В одной функции все метки должны различаться,
но могут совпадать с метками других функций.
Прототип функции. Идентификаторы, указанные в списке параметров прототипа
(объявления) функции, имеют областью действия только прототип функции.
Класс. Элементы структур, объединений и классов (за исключением статических
элементов) являются видимыми лишь в пределах класса. Они образуются
при создании переменной указанного типа и разрушаются при ее уничтожении.
Поименованная область. C++ позволяет явным образом задать область определения
имен как часть глобальной области с помощью оператора namespace.
Объявления и определения.
Описание переменной может выполняться в форме объявления или определения.
Объявление информирует компилятор о типе переменной и классе памяти, а определение содержит, кроме этого, указание компилятору выделить память в соответствии с типом переменной. В C++ большинство объявлений являются одновременно и определениями. Переменная может быть объявлена многократно, но определена только в одном месте программы, поскольку объявление просто описывает свойства переменной, а определение связывает ее с конкретной областью памяти.
Атрибуты компоновки имен.
Имя в файловой области видимости, не описанное явно как static, является общим для каждого файла многофайловой программы. Таковым же является имя функции. О таких именах говорится, что они внешние. Каждое описание внешнего имени в программе относится к тому же объекту, функции, классу, перечислении или значению перечислителя. Типы, специфицированные во всех описаниях внешнего имени должны быть идентичны. Может быть больше одного определения типа, перечисления, inline-функции или несоставного const, при условии, что определения идентичны, появляются в разных файлах и все инициализаторы являются константными выражениями. Во всех остальных случаях должно быть ровно одно определение для внешнего имени в программе.