#cpp #классы #инициализация
Есть класс:
class A
{
public:
static int count;
A()
{
count++; // При создании каждого объекта эта переменная должна увеличиваться
}
};
Надо присвоить значение этой переменной 0, до вызова конструктора. Но если это сделать
вот так:
static int count = 0;
То компилятор ругается. Как обойтись в такой ситуации?
Ответы
Ответ 1
Просто надо правильно определить эту переменную вне класса class A { public: static int count; A() { count++; // При создании каждого объекта эта переменная должна увеличиваться } }; //... int A::count = 0; Вы также можете опустить инициализатор, так как переменная в любом случае будет инициализирована нулем: int A::count; Если определение класса помещено в заголовочный файл, то определение статической переменной нужно поместить в один из программных модулей.
Комментариев нет:
Отправить комментарий