#include <iostream>
using namespace std;
class Base {
//no visitbility means private, not visible for derived
protected: // this is visible for derived, but not for outsiders
int x, y;
public: // this is visible for everyone
virtual void readDataFromStream(istream&);
};
void Base::readDataFromStream(istream& is) {
//insert values from stream into attributes
is >> x;
is >> y;
cout <<"done-";
}
class Derived : Base { // no inheritance visibility: outside world don't have access to base pubic members
// if you want benefit from inheritance, make it Derived: public Base
//declaration
//method inherited from Base
int z;
public:
void readDataFromStream(istream&) override;
//definition - overrides definition in Base
//function called from inside function that passes file data into stream
//- stream already contains data
};
void Derived::readDataFromStream(istream& is) {
//insert values from stream into attributes
Base::readDataFromStream(is);
is >> z;
cout << "yes";
}
int main() {
// your code goes here
Derived d;
d.readDataFromStream(cin);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmNsYXNzIEJhc2UgewovL25vIHZpc2l0YmlsaXR5IG1lYW5zIHByaXZhdGUsIG5vdCB2aXNpYmxlIGZvciBkZXJpdmVkCnByb3RlY3RlZDogICAvLyB0aGlzIGlzIHZpc2libGUgZm9yIGRlcml2ZWQsIGJ1dCBub3QgZm9yIG91dHNpZGVycwogICAgaW50IHgsIHk7IApwdWJsaWM6ICAgICAgLy8gdGhpcyBpcyB2aXNpYmxlIGZvciBldmVyeW9uZQogICAgdmlydHVhbCB2b2lkIHJlYWREYXRhRnJvbVN0cmVhbShpc3RyZWFtJik7Cn07ICAKCnZvaWQgQmFzZTo6cmVhZERhdGFGcm9tU3RyZWFtKGlzdHJlYW0mIGlzKSB7CiAgICAvL2luc2VydCB2YWx1ZXMgZnJvbSBzdHJlYW0gaW50byBhdHRyaWJ1dGVzCiAgICBpcyA+PiB4OwogICAgaXMgPj4geTsKICAgIGNvdXQgPDwiZG9uZS0iOwp9CgpjbGFzcyBEZXJpdmVkIDogIEJhc2UgeyAgLy8gbm8gaW5oZXJpdGFuY2UgdmlzaWJpbGl0eTogb3V0c2lkZSB3b3JsZCBkb24ndCBoYXZlIGFjY2VzcyB0byBiYXNlIHB1YmljIG1lbWJlcnMKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHlvdSB3YW50IGJlbmVmaXQgZnJvbSBpbmhlcml0YW5jZSwgbWFrZSBpdCBEZXJpdmVkOiBwdWJsaWMgQmFzZQogICAgLy9kZWNsYXJhdGlvbgogICAgLy9tZXRob2QgaW5oZXJpdGVkIGZyb20gQmFzZQogICAgaW50IHo7IApwdWJsaWM6IAogICAgdm9pZCByZWFkRGF0YUZyb21TdHJlYW0oaXN0cmVhbSYpIG92ZXJyaWRlOwoKICAgIC8vZGVmaW5pdGlvbiAtIG92ZXJyaWRlcyBkZWZpbml0aW9uIGluIEJhc2UKICAgIC8vZnVuY3Rpb24gY2FsbGVkIGZyb20gaW5zaWRlIGZ1bmN0aW9uIHRoYXQgcGFzc2VzIGZpbGUgZGF0YSBpbnRvIHN0cmVhbQogICAgLy8tIHN0cmVhbSBhbHJlYWR5IGNvbnRhaW5zIGRhdGEKfTsKCnZvaWQgRGVyaXZlZDo6cmVhZERhdGFGcm9tU3RyZWFtKGlzdHJlYW0mIGlzKSB7CiAgICAgICAgLy9pbnNlcnQgdmFsdWVzIGZyb20gc3RyZWFtIGludG8gYXR0cmlidXRlcwogICAgQmFzZTo6cmVhZERhdGFGcm9tU3RyZWFtKGlzKTsgCiAgICBpcyA+PiB6OwogICAgY291dCA8PCAieWVzIjsKfQoKCgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCURlcml2ZWQgZDsgCgkKCWQucmVhZERhdGFGcm9tU3RyZWFtKGNpbik7IAoJcmV0dXJuIDA7Cn0=