#include <iostream>
using namespace std;
class A {
public:
A(){};
A(const A&x, const A& y){};
A( const A& that ) {
std::cout << " In copy" << std::endl;
}
};
A operator+(const A& x, const A& y) {
return A(x, y);
}
void f( const A& a) {
std::cout << " In func" << std::endl;
}
int main() {
A a, b;
f(a+b);
std::cout << "run end" << '\n';
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmNsYXNzIEEgewpwdWJsaWM6CQpBKCl7fTsKQShjb25zdCBBJngsIGNvbnN0IEEmIHkpe307CkEoIGNvbnN0IEEmIHRoYXQgKSB7CglzdGQ6OmNvdXQgPDwgIiBJbiBjb3B5IiA8PCBzdGQ6OmVuZGw7Cn0KfTsKCkEgb3BlcmF0b3IrKGNvbnN0IEEmIHgsIGNvbnN0IEEmIHkpIHsKCXJldHVybiBBKHgsIHkpOwp9Cgp2b2lkIGYoIGNvbnN0IEEmIGEpIHsKCXN0ZDo6Y291dCA8PCAiIEluIGZ1bmMiIDw8IHN0ZDo6ZW5kbDsKfQoKaW50IG1haW4oKSB7CglBIGEsIGI7CiAgICBmKGErYik7CiAgICBzdGQ6OmNvdXQgPDwgInJ1biBlbmQiIDw8ICdcbic7CglyZXR1cm4gMDsKfQo=