AFEWoD/fivt-progr.-AFEWoD — comment on commit 70c30979bc29d590826703d023574300fed2cf1e
File: 1_24.02/1_24.02/main.cpp line 4
By teamurko:

По логике это должен быть класс, который хранит числа по модулю. То есть валидным является состояние, когда 0 <= num < mod, других состояний быть не должно. Поэтому в конструкторе передаваемый аргумент нужно как минимум брать по модулю, а можно ограничить диапазон валидных аргументов, бросая исключение, если num >= mod. Так же нужно проследить, что другие методы возвращают валидные объекты и не меняют валидность this. Тогда никакая нормализация нужна не будет.