Вопрос такой почему ++ не увеличивает значени в той-же строке, и почему operator int() вызываеться раньше ++?
///выдает такое
///operator int()
///operator++
///10
///10
///operator int()
///operator++
///11
///11
#include <iostream>
using std::cout;
using std::endl;
class INT{
int a;
public:
INT(const int ia) : a(ia) { };
int operator++(int){
cout << "operator++"<< endl;
return a++;
}
int operator++(){
cout << "++operator" << endl;
return ++a;
}
operator int(){
cout << "operator int()" << endl;
return a;
}
};
int main(){
INT as(10);
cout << (as.operator++(NULL)) << endl << as << endl;
cout << (as++) << endl << as << endl;
return 0;
};