C++ Программирование в среде С++ Builder 5



             

Определение класса


Приведенный ниже код определяет два класса, которые могли бы применяться в графической программе. Это классы точек и линий.

////////////////////////////////////////////////////////////

// Classesl.h: Пример двух геометрических классов. //

const int MaxX = 200; // Максимальные значения координат.

const int MaxY = 200;

//

struct,Point { // Класс точек.

int GetX(void) ;

int GetY(void) ;

void SetPoint(int, int);

private:

int x;

int y;

};

class Line

{

// Класс линий.

Point p0;

Point p1;

public:

Line(int x0, int y0, int xl, int yl);

// Конструктор.

~Line(void); // Деструктор.

void Show(void);

};

Ну вот, такие вот классы. Теперь разберем различные моменты этих определений.

Иногда может потребоваться предварительное объявление класса, если нужно, например, объявить указатель на объект класса прежде, чем будет определен сам класс. Предварительное объявление в этом смысле подобно прототипу функции и выглядит так:

class SomeClass;

Заголовок определения

Определение класса начинается с ключевых слов class, struct или union. Правда, union применяется крайне редко. И структуры, и классы, и объединения относятся к “классовым” типам C++. Разницу между этими типами мы рассмотрим чуть позже.

Спецификации доступа

Ключевые слова private и public называются спецификаторами доступа. Спецификатор private означает, что элементы данных и элементы-функции, размещенные под ним, доступны только функциям-элементам данного класса. Это так называемый закрытый доступ.

Спецификатор public означает, что размещенные под ним элементы доступны как данному классу, так и функциям других классов и вообще любым функциям программы через представитель класса.

Есть еще спецификатор защищенного доступа protected, означающий, что элементы в помеченном им разделе доступны не только в данном классе, но и для функций-элементов классов, производных от него.

Структуры, классы и объединения

Типы, определяемые с ключевыми словами struct, class и union, являются классами. Отличия их сводятся к следующему:




Содержание  Назад  Вперед