Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Переменные и операции класса

РефератПомощь в написанииУзнать стоимостьмоей работы

В данном примере мы объявили четыре конструктора для того, чтобы иметь возможность задавать дату в сокращенном виде. В крупных проектах количество конструкторов, позволяющее учесть различные варианты использования, может быть намного больше. Обычно для каждого объекта необходима своя копия переменных, описанных в классе. Однако в некоторых ситуациях требуется, чтобы в классе были данные, общие… Читать ещё >

Переменные и операции класса (реферат, курсовая, диплом, контрольная)

Обычно для каждого объекта необходима своя копия переменных, описанных в классе. Однако в некоторых ситуациях требуется, чтобы в классе были данные, общие для всех его экземпляров — переменные класса.

Переменная класса в С++ описывается с ключевым словом static, она создается один раз как часть класса, а не для каждого конкретного экземпляра данного класса. Функция, которой требуется доступ к переменным класса, но не требуется, чтобы она вызывалась для конкретного экземпляра класса, также описывается как статическая (static).

Пример. Опишем класс для работы с датами.

class Date{.

int day;// день.

int month;// месяц.

int year;// год.

public:

Date (int, int, int); // день, месяц, год.

Date (int, int); // день, месяц, текущий год — по умолчанию.

Date (int); // день, текущие месяц и год — по умолчанию.

Date (); // дата по умолчанию — сегодня.

.. .

};

В данном примере мы объявили четыре конструктора для того, чтобы иметь возможность задавать дату в сокращенном виде. В крупных проектах количество конструкторов, позволяющее учесть различные варианты использования, может быть намного больше.

Рассмотрим альтернативное решение. Опишем конструктор с аргументами по умолчанию.

class Date{.

int day, month, year;

static Date default_date;

public:

Date (int d=0, int m=0, int y=0);

.. .

static void set_default (int, int, int);

};

Если значение аргумента является нулевым, следует воспользоваться соответствующим элементом даты, задаваемой по умолчанию — default_date. Поскольку значение default_date должно быть одинаковым для всех объектов класса, данная переменная является статическим членом. Для ее инициализации описана также статическая функция-член set_default. Статические члены — и функции, и данные — должны быть где-то определены. Например,.

Date Date: default_date (1, 1, 2000);

void set_default (int d, int m, int y).

{.

Date: default_date= Date (d, m, y);

}.

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

Введение

утилит позволяет приблизить реализацию системы на языке С++ к набору классов и взаимодействующих объектов, как в чисто объектно-ориентированных языках.

Показать весь текст
Заполнить форму текущей работой