Другим способом, который также делает код более читабельным, было бы определение перечислимого типа для месяца:
enum e_Month {
e_Month_January,
e_Month_February,
e_Month_March,
// etc..
e_Month_December
};
Теперь ваше присваивание становится:
void Date::month(e_Month inMonth) { _month = inMonth; }
Большинство компиляторов вызовут ошибкудля присвоения enum другого типа, чтобы вы получили безопасность времени компиляции, чтобы он всегда был в диапазоне.