#include <iostream>
using namespace std;
struct circle {
double Area, x,y;
circle& operator++ () {
Area = Area * 2.0;
cout << "prefix"<<endl;
return *this;
}
circle operator++ (int) {
circle c(*this);
Area = Area * 2.0;
cout << "postfix"<<endl;
return c;
}
void output() { cout <<Area<<" "<<x<<" "<<y<<endl; }
};
/////////////////////////////
int main()
{
class circle c1{4, 1, -1}, c2{12, 4, 6};
cout<<"Original: ";
c1.output();
cout<<"Postfix before: ";
(c1++).output();
cout<<"Postfix after: ";
c1.output();
cout<<"Prefix: ";
(++c1).output();
system("pause");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IGNpcmNsZSB7Cglkb3VibGUgQXJlYSwgeCx5OyAKCWNpcmNsZSYgb3BlcmF0b3IrKyAoKSB7CiAgICAgICAgQXJlYSA9IEFyZWEgKiAyLjA7CgkgICAgY291dCA8PCAicHJlZml4Ijw8ZW5kbDsgCiAgICAgICAgcmV0dXJuICp0aGlzOyAKCX0KCWNpcmNsZSBvcGVyYXRvcisrIChpbnQpIHsKCQljaXJjbGUgYygqdGhpcyk7IAogICAgICAgIEFyZWEgPSBBcmVhICogMi4wOwoJICAgIGNvdXQgPDwgInBvc3RmaXgiPDxlbmRsOyAKICAgICAgICByZXR1cm4gYzsgCgl9Cgl2b2lkIG91dHB1dCgpIHsgY291dCA8PEFyZWE8PCIgIjw8eDw8IiAiPDx5PDxlbmRsOyB9Cn07IAoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgppbnQgbWFpbigpCnsKY2xhc3MgY2lyY2xlIGMxezQsIDEsIC0xfSwgYzJ7MTIsIDQsIDZ9Owpjb3V0PDwiT3JpZ2luYWw6ICI7CmMxLm91dHB1dCgpOwpjb3V0PDwiUG9zdGZpeCBiZWZvcmU6ICI7CihjMSsrKS5vdXRwdXQoKTsKY291dDw8IlBvc3RmaXggYWZ0ZXI6ICI7CmMxLm91dHB1dCgpOyAKY291dDw8IlByZWZpeDogIjsKKCsrYzEpLm91dHB1dCgpOyAKCnN5c3RlbSgicGF1c2UiKTsKcmV0dXJuIDA7Cn0KCg==