Нет ничего плохого в построении вашего класса, который мог бы вызвать проблему, которую вы описываете.(Суть размотки заключается в том, что обычно не рекомендуется помещать реализации ваших методов непосредственно в объявление класса, но это не является причиной вашей проблемы.)
На самом деле, если я добавлю простоеmain () до конца кода, который вы опубликовали:
int main() {
Cheif c;
c.Buy_Cow();
c.GOTO_Store();
}
и скомпилируйте и запустите его, он даст ожидаемые результаты (значение коров = 1).
Итак, это говоритпроблема не в этом классе, а в том, как вы вызываете его из остальной части вашей программы.
Чтобы отследить это, применяются обычные методы отладки.Например:
- попытаться определить конкретную последовательность событий, вызывающих проблему
- использовать отладчик и / или операторы print, чтобы выяснить, где что-то идет не так