Вы никогда не создаете int, на которое указывает указатель, поэтому указатель является указателем на область памяти, которая не существует (или используется для чего-то другого).
Вы можете использовать new
, чтобы получить блок памяти из кучи, new возвращает адрес ячейки памяти.
itsTenure = new int;
Так что теперь itsTenure
содержит область памяти, которую вы можете разыменовать, чтобы установить ее значение.
Изменен конструктор следующим образом:
Agents::Agents()
{
cout << "Constructor called \n";
itsTenure = new int;
*itsTenure = 0;
}
Но вы также должны помнить, чтобы удалить его, используя delete
Agents::~Agents()
{
cout << "Destructor called \n";
delete itsTenure;
}