Код: Выделить всё
enum class Month {
Jan=1, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
};
Month operator++(Month& m) // prefix increment operator
{
m = (m==Month::Dec) ? Month::Jan : Month(static_cast(m)+1);
return m;
}
Код: Выделить всё
Month m = Month::Sep;
++m; // m becomes Oct
++m; // m becomes Nov
++m; // m becomes Dec
++m; // m becomes Jan (“wrap around”)
Код: Выделить всё
void operator++(Month& m) // prefix increment operator
{
m = (m==Month::Dec) ? Month::Jan : Month(static_cast(m)+1);
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... r-function
Мобильная версия