/
s-evg
/
CPPM
Обзор
Документация
Войти
/
s-evg
/
CPPM
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
02/2/main.cpp
75 строк
2 KB
s-evg
hw_2 2
16 июл 2026, 10:23
16 июл 2026, 10:23
15d84f7
Код
Авторство
О чём код?
// Счётчик #include <iostream> #include <string> // Используем пространство namespace counter_task { class Counter { public: // Конструктор по умолчанию. Инициализируем значением 1. Counter() : currentValue(1) {} // Используем explicit для конструктора с одним аргументом, // чтобы избежать неявных преобразований типов. explicit Counter(int initialValue) : currentValue(initialValue) {} void increment() { currentValue++; } void decrement() { currentValue--; } // Добавляем const в конец метода. Это говорит компилятору (и читателю), // что метод не изменяет состояние объекта (аналог read-only свойства в Python). int getValue() const { return currentValue; } private: int currentValue; }; } // namespace counter_task int main() { std::string answer; std::cout << "Вы хотите указать начальное значение счётчика? Введите да или нет: "; std::cin >> answer; int initialValue = 1; if (answer == "да") { std::cout << "Введите начальное значение счётчика: "; std::cin >> initialValue; } // Используем полное имя с пространством имён. counter_task::Counter counter(initialValue); std::string command; while (true) { std::cout << "Введите команду ('+', '-', '=' или 'x'): "; std::cin >> command; if (command == "+") { counter.increment(); } else if (command == "-") { counter.decrement(); } else if (command == "=") { std::cout << counter.getValue() << "\n"; } else if (command == "x") { std::cout << "До свидания!\n"; break; } else { std::cout << "Неизвестная команда. Попробуйте снова.\n"; } } return 0; }