#include <iostream>
int main()
{
struct A
{
int x;
int y;
int z;
int foo()
{
std::cout << "enter foo: " << this->x << "," << this->y << "," << this->z << std::endl;
return 5;
}
int moo()
{
std::cout << "enter moo: " << this->x << "," << this->y << "," << this->z << std::endl;
this->x = 1;
this->z = 10;
return 2;
}
};
A b { b.foo(), b.z = b.moo(), 3};
std::cout << "final: " << b.x << "," << b.y << "," << b.z << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKaW50IG1haW4oKQp7CiAgICBzdHJ1Y3QgQSAKICAgIHsgCiAgICAgICAgaW50IHg7IAogICAgICAgIGludCB5OyAKICAgICAgICBpbnQgejsgCgogICAgICAgIGludCBmb28oKQogICAgICAgIHsKICAgICAgICAgICAgc3RkOjpjb3V0IDw8ICJlbnRlciBmb286ICIgPDwgdGhpcy0+eCA8PCAiLCIgPDwgdGhpcy0+eSA8PCAiLCIgPDwgdGhpcy0+eiA8PCBzdGQ6OmVuZGw7CiAgICAgICAgICAgIHJldHVybiA1OwogICAgICAgIH0gICAgICAgCgogICAgICAgIGludCBtb28oKSAKICAgICAgICB7IAogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgImVudGVyIG1vbzogIiA8PCB0aGlzLT54IDw8ICIsIiA8PCB0aGlzLT55IDw8ICIsIiA8PCB0aGlzLT56IDw8IHN0ZDo6ZW5kbDsKICAgICAgICAgICAgdGhpcy0+eCA9IDE7CiAgICAgICAgICAgIHRoaXMtPnogPSAxMDsKICAgICAgICAgICAgcmV0dXJuIDI7IAogICAgICAgIH0KICAgIH07CgogICAgQSBiIHsgYi5mb28oKSwgYi56ID0gYi5tb28oKSwgM307CgogICAgc3RkOjpjb3V0IDw8ICJmaW5hbDogIiA8PCBiLnggPDwgIiwiIDw8IGIueSA8PCAiLCIgPDwgYi56IDw8IHN0ZDo6ZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==