Справочник по C/C++
Статистические членны

В языке C++ использование спецификатора ststic для данных-членов класса приводит к созданию только одной копии этих членнов, совместно используемой всеми объектами класса. Например, следующая переменная count может использоваться как счётчик объектов.

class my{
	count;
public:
	my(){ count++ }
	~my(){ count++ }
	static void cnt()
	{
		cout << "Существует объектов: " << count << endl;
	}
}

my x, y, z;
// следующие два вызова дадут одинаковый результат
my.cnt();
my::cnt();

Функции — члены класса также могут быть объявленны статистическими. Статистические функции-члены класса не получают указатель this, соответсвенно эти функции не могут обращаться к нестатистическим членам класса. К статистическим членам класса статистические функции-члены класса могут обращаться посредством операции тичка или стрелка. Статистическая функция-член не может быть виртуальной. К статистическим данным-членам класса и статистическим функциям-членам класса можно обращаться, даже если не создано ни одного объекта данного класса, надо только использовать полное имя члена класса. Если функция a() являеться статистической функцией-членом класса cl, то можно вызвать эту функцию следующим образом.

cl::a();


Смотрите также



Реклама