#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; Если определение класса помещено в заголовочный файл, то определение статической переменной нужно поместить в один из программных модулей.
Комментариев нет:
Отправить комментарий