#include <iostream>
using namespace std;
struct A
{
int a;
};
struct B : public A
{
int b;
};
struct C : public A
{
int c;
};
int main() {
B b;
b.a = 2;
b.b = 3;
C c;
c.a = 4;
c.c = 5;
std::cout << "1. B: {" << b.a << ", " << b.b << "}\n";
std::cout << "1. C: {" << c.a << ", " << c.c << "}\n";
b.A::operator =(c);
std::cout << "2. B: {" << b.a << ", " << b.b << "}\n";
std::cout << "2. C: {" << c.a << ", " << c.c << "}\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEEKewoJaW50IGE7Cn07CgpzdHJ1Y3QgQiA6IHB1YmxpYyBBCnsKCWludCBiOwp9OwoKc3RydWN0IEMgOiBwdWJsaWMgQQp7CglpbnQgYzsJCn07CgppbnQgbWFpbigpIHsKCUIgYjsKCWIuYSA9IDI7CgliLmIgPSAzOwoJQyBjOwoJYy5hID0gNDsKCWMuYyA9IDU7CgkKCXN0ZDo6Y291dCA8PCAiMS4gQjogeyIgPDwgYi5hIDw8ICIsICIgPDwgYi5iIDw8ICJ9XG4iOwoJc3RkOjpjb3V0IDw8ICIxLiBDOiB7IiA8PCBjLmEgPDwgIiwgIiA8PCBjLmMgPDwgIn1cbiI7CgkKCWIuQTo6b3BlcmF0b3IgPShjKTsKCQoJc3RkOjpjb3V0IDw8ICIyLiBCOiB7IiA8PCBiLmEgPDwgIiwgIiA8PCBiLmIgPDwgIn1cbiI7CglzdGQ6OmNvdXQgPDwgIjIuIEM6IHsiIDw8IGMuYSA8PCAiLCAiIDw8IGMuYyA8PCAifVxuIjsKCQoJcmV0dXJuIDA7Cn0=