Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

Присвоение значения переменной при объявлении в классе

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

Комментариев нет:

Отправить комментарий