Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

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

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.





Дата публикования: 2014-11-28; Прочитано: 248 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...