#include <iostream>
using namespace std;
class Foo
{
public:
int x;
private:
Foo(const Foo& foo) : x(foo.x) { }
Foo& operator=(const Foo& foo) { x = foo.x; }
public:
Foo(int x) : x(x) { }
static void copy(const Foo& from, Foo& to) { to = from; }
};
int main() {
Foo foo(5);
Foo foo2(10);
Foo::copy(foo, foo2);
std::cout << foo2.x << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgRm9vCnsKcHVibGljOgoJaW50IHg7CgkKcHJpdmF0ZToKCglGb28oY29uc3QgRm9vJiBmb28pIDogeChmb28ueCkgeyB9CglGb28mIG9wZXJhdG9yPShjb25zdCBGb28mIGZvbykgeyB4ID0gZm9vLng7IH0KcHVibGljOgoJRm9vKGludCB4KSA6IHgoeCkgeyB9CgoJc3RhdGljIHZvaWQgY29weShjb25zdCBGb28mIGZyb20sIEZvbyYgdG8pIHsgdG8gPSBmcm9tOyB9Cn07CgppbnQgbWFpbigpIHsKCUZvbyBmb28oNSk7CglGb28gZm9vMigxMCk7CglGb286OmNvcHkoZm9vLCBmb28yKTsKCXN0ZDo6Y291dCA8PCBmb28yLnggPDwgc3RkOjplbmRsOwp9