Классы
В С++, и в частности в Borland С++, существует несколько основных расширений по сравнению с С, и одно из них - объектно-ориентированное программирование (ООП). Фундаментальным механизмом ООП является понятие класса. Класс представляет собой объединение (инкапсуляцию) данных и функций, управляющих этими данными. Каждый представитель класса может называться объектом (полем, элементом). Основные свойства класса - наследование и полиморфизм. Описание класса может начинаться со служебного слова class, struct или union. Данные типы классов отличаются от классических структур и объединений тем, что:
- как правило, содержат одну или несколько меток спецификаций доступа (табл. 21), которые задаются с помощью служебных слов: private, public, protected;
- включают в себя элементы (поля) - данные и элементы (поля) - функции (методы);
- как правило, имеются некоторые специальные функции, такие как конструктор (функция с тем же именем, что и класс) и деструктор (функция с тем же именем, что и класс, но со знаком ~).
Таблица 21
Описание меток-спецификаторов
Метка доступа |
Описание |
private: |
Элементы-данные и элементы-функции доступны только для элементов-функций этого класса. |
public: |
Элементы-данные и элементы-функции класса доступны для элементов-функций данного класса, а также других функций программы, в которой имеется представитель этого класса. |
protected: |
Элементы-данные и элементы-функции доступны для элементов функций данного класса и классов, производных от него. |
Пример описания классов // Описание структуры Struct First
{int x; int y; float z; }; // Описание класса Second
struct Second {private:
int xl; int y2;
public:
int getxl(); int getyl();
void setxl(); void setyl(); }; // Описание класса linexy class linexy
{Second ptl; Second pt2; int1; public:
linexy(int xx, int yy); ~linexy(); };
Элементы (поля) класса
Элементы-данные характеризуются следующими положениями:
- они не могут определяться как auto, extern, register;
- элементом данных класса не может быть представитель данного класса;
- элементом-данным могут быть битовые поля, данные перечисляемого типа, представители ранее объявленных классов, указатель и ссылка на представитель этого класса.
Элемент-функция - это функция, которая определена внутри описания класса. Тело функции может описываться внутри класса, и в этом случае она называется встроенной. Тело функции может описывать и вне класса, тогда в имени функции сначала пишется имя класса, затем операция разрешения видимости(::) и далее имя функции и ее параметры.
Комментарии (0)