#include <iostream>
#include <string>
using std::cout;
using std::endl;
class A {
public:
A(int x) : x_(x) {}
int y() const { return y_; }
void set_z(int z) { z_ = z; }
void show() const {
cout << "x = " << x_ << " y = " << y_ << " z = " << z_ << endl;
}
void calculation() {
y_ = x_ + z_;
x_ += z_;
}
private:
int x_ = 0;
int y_ = 0;
int z_ = 0;
};
void ShowSeparator() { cout << "*************************" << endl; }
int main() {
A a(28);
A b(34);
a.calculation();
b.calculation();
a.show();
b.show();
//передача информации от А к В
b.set_z(a.y());
//передача информации от B к A
a.set_z(b.y());
ShowSeparator();
a.show();
b.show();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgc3RkOjpjb3V0Owp1c2luZyBzdGQ6OmVuZGw7CgpjbGFzcyBBIHsKIHB1YmxpYzoKICBBKGludCB4KSA6IHhfKHgpIHt9CgogIGludCB5KCkgY29uc3QgeyByZXR1cm4geV87IH0KCiAgdm9pZCBzZXRfeihpbnQgeikgeyB6XyA9IHo7IH0KCiAgdm9pZCBzaG93KCkgY29uc3QgewogICAgY291dCA8PCAieCA9ICIgPDwgeF8gPDwgIiB5ID0gIiA8PCB5XyA8PCAiIHogPSAiIDw8IHpfIDw8IGVuZGw7CiAgfQoKICB2b2lkIGNhbGN1bGF0aW9uKCkgewogICAgeV8gPSB4XyArIHpfOwogICAgeF8gKz0gel87CiAgfQoKIHByaXZhdGU6CiAgaW50IHhfID0gMDsKICBpbnQgeV8gPSAwOwogIGludCB6XyA9IDA7Cn07Cgp2b2lkIFNob3dTZXBhcmF0b3IoKSB7IGNvdXQgPDwgIioqKioqKioqKioqKioqKioqKioqKioqKioiIDw8IGVuZGw7IH0KCmludCBtYWluKCkgewogIEEgYSgyOCk7CiAgQSBiKDM0KTsKICBhLmNhbGN1bGF0aW9uKCk7CiAgYi5jYWxjdWxhdGlvbigpOwogIGEuc2hvdygpOwogIGIuc2hvdygpOwogIC8v0L/QtdGA0LXQtNCw0YfQsCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQvtGCINCQINC6INCSCiAgYi5zZXRfeihhLnkoKSk7CiAgLy/Qv9C10YDQtdC00LDRh9CwINC40L3RhNC+0YDQvNCw0YbQuNC4INC+0YIgQiDQuiBBCiAgYS5zZXRfeihiLnkoKSk7CiAgU2hvd1NlcGFyYXRvcigpOwogIGEuc2hvdygpOwogIGIuc2hvdygpOwp9Cg==