#include <iostream>
// === library code ===
struct A {
int x, y;
A(int x, int y) : x(x), y(y) {}
};
A getSomeA(int x, int y) {
return A(x, y);
}
// === end of library code ===
class B : public A {
public:
B (A &&a) : A(a), someOtherMember(a.x + a.y) {}
// added public stuff:
int someOtherFunction() const { return someOtherMember; }
private:
// added private stuff:
int someOtherMember;
};
int main() {
B b(getSomeA(32, 10));
std::cout << b.x << ", " << b.y << std::endl;
std::cout << b.someOtherFunction() << std::endl;
};
I2luY2x1ZGUgPGlvc3RyZWFtPgoKLy8gPT09IGxpYnJhcnkgY29kZSA9PT0Kc3RydWN0IEEgewogICAgaW50IHgsIHk7CiAgICBBKGludCB4LCBpbnQgeSkgOiB4KHgpLCB5KHkpIHt9Cn07CkEgZ2V0U29tZUEoaW50IHgsIGludCB5KSB7CiAgICByZXR1cm4gQSh4LCB5KTsKfQovLyA9PT0gZW5kIG9mIGxpYnJhcnkgY29kZSA9PT0KCmNsYXNzIEIgOiBwdWJsaWMgQSB7CnB1YmxpYzoKICAgIEIgKEEgJiZhKSA6IEEoYSksIHNvbWVPdGhlck1lbWJlcihhLnggKyBhLnkpIHt9CgogICAgLy8gYWRkZWQgcHVibGljIHN0dWZmOgogICAgaW50IHNvbWVPdGhlckZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gc29tZU90aGVyTWVtYmVyOyB9Cgpwcml2YXRlOgogICAgLy8gYWRkZWQgcHJpdmF0ZSBzdHVmZjoKICAgIGludCBzb21lT3RoZXJNZW1iZXI7Cn07CgppbnQgbWFpbigpIHsKICAgIEIgYihnZXRTb21lQSgzMiwgMTApKTsKICAgIHN0ZDo6Y291dCA8PCBiLnggPDwgIiwgIiA8PCBiLnkgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8IGIuc29tZU90aGVyRnVuY3Rpb24oKSA8PCBzdGQ6OmVuZGw7Cn07Cg==