Реферат: Методы программирования в C++
Содержание:
1. Статические элементы класса
2. Виртуальные функции
3. Абстрактные классы
4. Виртуальные классы
5. Шаблоны
6. Обработка исключительных ситуаций в C++
1. Статические элементы класса
В классе можно определять элементы данных и функции со спецификатором static. В этом случае их можно рассматривать как глобальные переменные или функции в пределах класса, и доступны они не одному объекту, а разделяются между всем классом, не ассоциируются с отдельными представителями класса.
class Name
{ …
public:
…
static int count; }
Для элементов, которые объявлены в открытой секции класса, вызов, например, будет выглядеть следующим образом:
Name::count+=2;
Если элементы определены в закрытой секции, то такое обращение некорректно.
Если мы объявили такой элемент в закрытой секции класса, то мы должны определить функции для работы с этими элементами. Обращение к таким функциям выглядит так: Name::Add1();
ПРАВИЛО:
1) Статические функции и элементы класса не ассоциируются с отдельными представителями класса. Обращение к ним производится выражением вида:
имя класса:: имя элемента
2) Им не передается указатель this, т.к. он ассоциируется с отдельным представителем класса.
3) Статические функции могут вызываться независимо от того, существует ли хотя бы один представитель класса.
4) Статические функции не могут быть виртуальными.
2. Виртуальные функции
Виртуальные функции – это функции-члены класса, вызов которых осуществляется во время выполнения программы (то есть динамически) по типу объекта, с которым она используется.
Например, базовый класс может описывать фигуру на экране без конкретизации ее вида, а производные классы (окружность, эллипс и т.п.) однозначно определяют ее формы и размеры. Если в базовом классе ввести функцию для изображения фигуры на экране, то выполнение этой функции будет возможно только для объектов каждого из производных классов, определяющих конкретные изображения.
Объявление виртуальной функции в классе:
virtualпрототип_функции;
Отметим, что классы, включающие такие функции, играют особую роль в объектно-ориентированном программировании. Именно поэтому они носят специальное название – полиморфные.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--