#include <string>
#include <iostream>
using namespace std;
class Person
{
private:
string name_;
public:
string name() const { return name_; }
Person( string const& name )
: name_( name )
{}
};
class Student
: public Person
{
private:
int studentId_;
public:
int studentId() const { return studentId_; }
Student( string const& name, int const studentId )
: Person( name ), studentId_( studentId )
{}
};
int main()
{
Person a( "Hillary Clinton" );
Student b( "John Smith", 12345 );
Person& bAsPerson = b;
bAsPerson = a;
cout
<< "Name: " << b.name()
<< ". Student id: " << b.studentId() << "."
<< endl;
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgUGVyc29uCnsKcHJpdmF0ZToKICAgIHN0cmluZyAgbmFtZV87CgpwdWJsaWM6CiAgICBzdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG5hbWVfOyB9CgogICAgUGVyc29uKCBzdHJpbmcgY29uc3QmIG5hbWUgKQogICAgICAgIDogbmFtZV8oIG5hbWUgKQogICAge30KfTsKCmNsYXNzIFN0dWRlbnQKICAgIDogcHVibGljIFBlcnNvbgp7CnByaXZhdGU6CiAgICBpbnQgICAgIHN0dWRlbnRJZF87CgpwdWJsaWM6CiAgICBpbnQgc3R1ZGVudElkKCkgY29uc3QgeyByZXR1cm4gc3R1ZGVudElkXzsgfQoKICAgIFN0dWRlbnQoIHN0cmluZyBjb25zdCYgbmFtZSwgaW50IGNvbnN0IHN0dWRlbnRJZCApCiAgICAgICAgOiBQZXJzb24oIG5hbWUgKSwgc3R1ZGVudElkXyggc3R1ZGVudElkICkKICAgIHt9Cn07CgppbnQgbWFpbigpCnsKICAgIFBlcnNvbiAgYSggIkhpbGxhcnkgQ2xpbnRvbiIgKTsKICAgIFN0dWRlbnQgYiggIkpvaG4gU21pdGgiLCAxMjM0NSApOwogICAgUGVyc29uJiBiQXNQZXJzb24gPSBiOwoKICAgIGJBc1BlcnNvbiA9IGE7CiAgICBjb3V0CiAgICAgICAgPDwgIk5hbWU6ICIgPDwgYi5uYW1lKCkKICAgICAgICA8PCAiLiBTdHVkZW50IGlkOiAiIDw8IGIuc3R1ZGVudElkKCkgPDwgIi4iCiAgICAgICAgPDwgZW5kbDsKfQo=