#include <iostream>
using namespace std;
class Base {
private:
int a;
public:
Base(){}
Base( int a ) : a(a) { }
Base& operator=(const Base& rhs) = delete;
Base(const Base& rhs) {}
void setA(int a){ this->a = a;}
int getA(){ return a;}
};
class Derived : public Base {
public:
int getB(){ return b;}
Derived(int b) : b(b){}
Derived& operator=(const Derived& rhs){
this->b = rhs.b;
}
private:
int b;
};
int main() {
Base b(3);
Derived d(9);
d.setA(44);
Derived cd = d;
cout << cd.getA() << " " << cd.getB() << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEJhc2Ugewpwcml2YXRlOgogICAgaW50IGE7CnB1YmxpYzoKICAgIEJhc2UoKXt9CiAgICBCYXNlKCBpbnQgYSApIDogYShhKSB7IH0KIAogICAgQmFzZSYgb3BlcmF0b3I9KGNvbnN0IEJhc2UmIHJocykgPSBkZWxldGU7CiAgICBCYXNlKGNvbnN0IEJhc2UmIHJocykge30KICAgIHZvaWQgc2V0QShpbnQgYSl7IHRoaXMtPmEgPSBhO30KICAgIGludCBnZXRBKCl7IHJldHVybiBhO30KfTsKIApjbGFzcyBEZXJpdmVkIDogcHVibGljIEJhc2UgewpwdWJsaWM6CiAgICBpbnQgZ2V0QigpeyByZXR1cm4gYjt9CiAgICBEZXJpdmVkKGludCBiKSA6ICBiKGIpe30KIAogCiAgICBEZXJpdmVkJiBvcGVyYXRvcj0oY29uc3QgRGVyaXZlZCYgcmhzKXsKICAgICAgICB0aGlzLT5iID0gcmhzLmI7CiAgICB9CnByaXZhdGU6CiAgICBpbnQgYjsKfTsKIAppbnQgbWFpbigpIHsKICAgIEJhc2UgYigzKTsKICAgIERlcml2ZWQgZCg5KTsKICAgIGQuc2V0QSg0NCk7CiAKICAgIERlcml2ZWQgY2QgPSBkOwogCiAKICAgIGNvdXQgPDwgY2QuZ2V0QSgpIDw8ICIgIiA8PCAgY2QuZ2V0QigpIDw8IGVuZGw7CiAKICAgIHJldHVybiAwOwp9