У меня есть такой код:
std::cout << " a: " << classDate.getDays() << " b: " << classDate++ << " c: " << classDate.getDays();
Я перегрузил оператор постинкремента.
в классе переменная m_days имеет значение:
- перед оператором ++ - 4
- после++ опратор -5
Мой вопрос в том, почему результаты cout находятся в неправильном порядке:
a: 5 b: 5 c: 4
Я проверил это в отладчике, значения в классе верны. Когда я написал такой код:
std::cout << " a: " << classDate.getDays();
std::cout << " b: " << classDate++;
std::cout << " c: " << classDate.getDays();
все правильно (а:4 б:5 в:5).
Это проблема приоритета оператора?
Камиль
b: 5
, когда используете постинкремент. Это точный код, который вы используете? - person David Brown   schedule 10.12.2013++
и назвали его постфиксом. Будущим сопровождающим вашего кода будет, по крайней мере, трудно это понять. - person Mark B   schedule 10.12.2013