/
0_0morfey
/
Class
Обзор
Документация
Войти
/
0_0morfey
/
Class
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
counter.cpp
57 строк
1 KB
0_0morfey
13 фев 2026, 09:55
Верифицирован
13 фев 2026, 09:55
019ae77
Код
Авторство
О чём код?
#include "counter.h" #include <stdexcept> Counter::Counter() : value(1) {} Counter::Counter(int initialValue) { if (initialValue < 0) { value = 1; } else { value = initialValue; } } void Counter::increment() { value++; } void Counter::decrement() { if (value > 0) { value--; } } int Counter::getValue() const { return value; } void Counter::reset() { value = 1; } void Counter::setValue(int newValue) { if (newValue < 0) { throw std::invalid_argument("Значение не может быть отрицательным"); } value = newValue; } bool Counter::isZero() const { return value == 0; } void Counter::add(int amount) { if (amount < 0 && value < -amount) { value = 0; // не уходим в минус } else { value += amount; } } void Counter::subtract(int amount) { if (amount > value) { value = 0; } else { value -= amount; } }