Лекция: Статические поля

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

Ниже перечислены особенности статических полей.

· Память под статическое поле выделяется один раз при его инициализации независимо от числа созданных объектов (и даже при их отсутствии) и инициализируется с помощью операции доступа к области действия:

class A{

public:

static int count; // Объявление в классе

};

...

int A::count; // Определение в глобальной области

// По умолчанию инициализируется нулем

// int A::count = 10; Пример инициализации произвольным значением

· Статические поля доступны как через имя класса, так и через имя объекта:

A *a, b;

...

cout << A::count << a->count << b.count; // Будет выведено одно и то же

· На статические поля распространяется действие спецификаторов доступа, поэтому статические поля, описанные как private,нельзя изменить с помощью операции доступа к области действия, как описано выше. Это можно сделать только с помощью статических методов.

· Память, занимаемая статическим полем, не учитывается при определении размера объекта с помощью операции sizeof.

 

еще рефераты
Еще работы по информатике