#include<bits/stdc++.h>
#define IOF ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
#define ll long long
using namespace std;
class c{
int cnt;
public:
c():cnt(0){cout << "default\n";}
c(int x):cnt(x){cout << "param\n";}
int get_cnt(){return cnt;}
c operator++(){
cout << "pre\n";
return c(++cnt);
}
c(const c& tmp){
cout << "copy\n";
cnt = tmp.cnt;
}
c operator++(int){
cout << "post\n";
return c(cnt++);
}
void operator = (c tmp){
cout << "equal\n";
cnt = tmp.cnt;
}
~c(){
cout << "des\n";
}
};
int main() {
c ob;
c ob1(3);
ob++;
++ob;
cout << ob.get_cnt() << ' ' << ob1.get_cnt() << '\n';
ob = ob1++;
c ob2(ob1++);// لما بتشيل ال ++ بتنادي الكوبي كونستراكتور لما بتحطها معرفش بيحصل ايه
c ob3 = ob2;
cout << ob.get_cnt() << ' ' << ob1.get_cnt() << '\n';
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBJT0YgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLCBjaW4udGllKG51bGxwdHIpLCBjb3V0LnRpZShudWxscHRyKTsKI2RlZmluZSBsbCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIGN7CiAgaW50IGNudDsKICBwdWJsaWM6CiAgYygpOmNudCgwKXtjb3V0IDw8ICJkZWZhdWx0XG4iO30KICBjKGludCB4KTpjbnQoeCl7Y291dCA8PCAicGFyYW1cbiI7fQogIGludCBnZXRfY250KCl7cmV0dXJuIGNudDt9CiAgYyBvcGVyYXRvcisrKCl7CiAgICBjb3V0IDw8ICJwcmVcbiI7CiAgICByZXR1cm4gYygrK2NudCk7CiAgfQogIGMoY29uc3QgYyYgdG1wKXsKICAgIGNvdXQgPDwgImNvcHlcbiI7CiAgICBjbnQgPSB0bXAuY250OwogIH0KICBjIG9wZXJhdG9yKysoaW50KXsKICAgIGNvdXQgPDwgInBvc3RcbiI7CiAgICByZXR1cm4gYyhjbnQrKyk7CgogIH0KICB2b2lkIG9wZXJhdG9yID0gKGMgdG1wKXsKICAgIGNvdXQgPDwgImVxdWFsXG4iOwogICAgY250ID0gdG1wLmNudDsKICB9Cn5jKCl7CiAgY291dCA8PCAiZGVzXG4iOwp9CiAgCn07CgppbnQgbWFpbigpIHsKYyBvYjsKYyBvYjEoMyk7Cm9iKys7Cisrb2I7CmNvdXQgPDwgb2IuZ2V0X2NudCgpIDw8ICcgJyA8PCBvYjEuZ2V0X2NudCgpICA8PCAnXG4nOwpvYiA9IG9iMSsrOwpjIG9iMihvYjErKyk7Ly8g2YTZhdinINio2KrYtNmK2YQg2KfZhCArKyDYqNiq2YbYp9iv2Yog2KfZhNmD2YjYqNmKINmD2YjZhtiz2KrYsdin2YPYqtmI2LEg2YTZhdinINio2KrYrdi32YfYpyDZhdi52LHZgdi0INio2YrYrdi12YQg2KfZitmHCmMgb2IzID0gb2IyOwpjb3V0IDw8IG9iLmdldF9jbnQoKSA8PCAnICcgPDwgb2IxLmdldF9jbnQoKSAgPDwgJ1xuJzsKCgpyZXR1cm4gMDsKfQ==