#include <iostream>
using namespace std;
class Contador {
public:
Contador(int c = 0) { contador = c; };
int getContador() { return contador; };
Contador& operator++() {
++contador;
return *this;
};
private:
unsigned int contador;
};
int main() {
Contador c1, c2, c3;
++c1;
++c2;
++c2;
++c2;
c3 = ++c2;
++(++(++c1));
cout << "c1: " << c1.getContador() << endl;
cout << "c2: " << c2.getContador() << endl;
cout << "c3: " << c3.getContador() << endl;
}
//https://pt.stackoverflow.com/q/174895/101
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQ29udGFkb3IgewogICAgcHVibGljOgogICAgICAgIENvbnRhZG9yKGludCBjID0gMCkgeyBjb250YWRvciA9IGM7IH07CiAgICAgICAgaW50IGdldENvbnRhZG9yKCkgeyByZXR1cm4gY29udGFkb3I7IH07CiAgICAgICAgQ29udGFkb3ImIG9wZXJhdG9yKysoKSB7CiAgICAgICAgICAgICsrY29udGFkb3I7CiAgICAgICAgICAgIHJldHVybiAqdGhpczsKICAgICAgICB9OwogICAgcHJpdmF0ZToKICAgICAgICB1bnNpZ25lZCBpbnQgY29udGFkb3I7Cn07CgppbnQgbWFpbigpIHsKICAgIENvbnRhZG9yIGMxLCBjMiwgYzM7CiAgICArK2MxOwogICAgKytjMjsKICAgICsrYzI7CiAgICArK2MyOwogICAgYzMgPSArK2MyOwogICAgKysoKysoKytjMSkpOwogICAgY291dCA8PCAiYzE6ICIgPDwgYzEuZ2V0Q29udGFkb3IoKSA8PCBlbmRsOwogICAgY291dCA8PCAiYzI6ICIgPDwgYzIuZ2V0Q29udGFkb3IoKSA8PCBlbmRsOyAKICAgIGNvdXQgPDwgImMzOiAiIDw8IGMzLmdldENvbnRhZG9yKCkgPDwgZW5kbDsgCn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzE3NDg5NS8xMDE=