Witam. Czy możliwe jest w jakiś prosty sposób przeładowanie operatora ++/-- (post), aby zachowywał się tak jak np. dla typu wbudowanego int. Tzn.
int x = 3;
std::cout << x++; //wyświetli 3 i dopiero potem zwiększy x o 1
Natomiast przy takim programiku działa mi to inaczej:
class Klasa {
private:
int mSkladnik;
public:
Klasa() : mSkladnik(3) {
}
Klasa& operator++(int) {
mSkladnik++;
return *this;
}
friend std::ostream& operator<<(std::ostream& ekr, Klasa kl);
};
std::ostream& operator<<(std::ostream& ekr, Klasa kl) {
ekr << kl.mSkladnik;
return ekr;
}
int main() {
Klasa obj;
std::cout << obj++; //no i tutaj zamiast 3 wyswietla mi 4;
return 0;
}
Co można z takim fantem zrobić?