#include <iostream>
using namespace std;
class Base{
protected:
int x;
string s;
public:
Base(int x, string s){
this->x=x;
this->s=s;
cout<<"Constructor in the Base class"<<endl;
}
~Base(){
cout<<"Destructor in the Base class"<<endl;
}
void setVar(int x, string s){
this->x=x;
this->s=s;
}
int getX(){return x;}
string getS(){return s;}
};
class Derived : public Base{
private:
int z;
public:
Derived(int x, string s, int z): Base(x, s){
this->z=z;
cout<<"Constructor in the Derived class"<<endl;
}
~Derived(){
cout<<"Destructor in the Derived class"<<endl;
}
void setVar(int z){
this->z=z;
}
int getZ(){return z;}
void display(){
cout<<x<<" "<<s<<" "<<z<<endl;
}
};
int main(){
Derived d(5, "abc", 10);
d.display();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjbGFzcyBCYXNlewpwcm90ZWN0ZWQ6CiAgICBpbnQgeDsKICAgIHN0cmluZyBzOwpwdWJsaWM6CiAgICBCYXNlKGludCB4LCBzdHJpbmcgcyl7CiAgICAgICAgdGhpcy0+eD14OwogICAgICAgIHRoaXMtPnM9czsKCQljb3V0PDwiQ29uc3RydWN0b3IgaW4gdGhlIEJhc2UgY2xhc3MiPDxlbmRsOwogICAgfQoJfkJhc2UoKXsKCQljb3V0PDwiRGVzdHJ1Y3RvciBpbiB0aGUgQmFzZSBjbGFzcyI8PGVuZGw7Cgl9CiAgICB2b2lkIHNldFZhcihpbnQgeCwgc3RyaW5nIHMpewogICAgICAgIHRoaXMtPng9eDsKICAgICAgICB0aGlzLT5zPXM7CiAgICB9CiAgICBpbnQgZ2V0WCgpe3JldHVybiB4O30KICAgIHN0cmluZyBnZXRTKCl7cmV0dXJuIHM7fQp9OwoKCmNsYXNzIERlcml2ZWQgOiBwdWJsaWMgQmFzZXsKcHJpdmF0ZToKICAgIGludCB6OwpwdWJsaWM6CiAgICBEZXJpdmVkKGludCB4LCBzdHJpbmcgcywgaW50IHopOiBCYXNlKHgsIHMpewogICAgICAgIHRoaXMtPno9ejsKCQljb3V0PDwiQ29uc3RydWN0b3IgaW4gdGhlIERlcml2ZWQgY2xhc3MiPDxlbmRsOwogICAgfQoJfkRlcml2ZWQoKXsKCQljb3V0PDwiRGVzdHJ1Y3RvciBpbiB0aGUgRGVyaXZlZCBjbGFzcyI8PGVuZGw7Cgl9CiAgICB2b2lkIHNldFZhcihpbnQgeil7CiAgICAgICAgdGhpcy0+ej16OwogICAgfQogICAgaW50IGdldFooKXtyZXR1cm4gejt9CgogICAgdm9pZCBkaXNwbGF5KCl7CiAgICAgICAgY291dDw8eDw8IiAiPDxzPDwiICI8PHo8PGVuZGw7CiAgICB9Cn07CgoKaW50IG1haW4oKXsKICAgIERlcml2ZWQgZCg1LCAiYWJjIiwgMTApOwogICAgZC5kaXNwbGF5KCk7CiAgICByZXR1cm4gMDsKfQo=