#include <iostream>
using namespace std;
class persona
{
public :
void que_eres( ) { cout << "Soy una persona. (" << this << ")" << endl; }
} ;
class estudiante: public virtual persona
{
public :
void que_eres( )
{
cout << "Soy un estudiante.(" << this << ")" << endl;
persona:: que_eres ( ) ;
}
} ;
class empleado: public virtual persona
{
public :
void que_eres( )
{
cout << "Soy un empleado. (" << this << ")" << endl;
persona:: que_eres ( ) ;
}
} ;
class practicante: public estudiante, public empleado
{
public :
void que_eres( )
{
cout << "Soy un praticante, por consiguiente:" << endl;
estudiante:: que_eres ( ) ;
empleado:: que_eres ( ) ;
}
} ;
int main( )
{
practicante jose;
jose.que_eres ( ) ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgcGVyc29uYQp7CiAgICBwdWJsaWM6CiAgICB2b2lkIHF1ZV9lcmVzKCkgeyBjb3V0PDwiU295IHVuYSBwZXJzb25hLiAoIjw8dGhpczw8IikiPDxlbmRsOyB9Cn07CgpjbGFzcyBlc3R1ZGlhbnRlOiBwdWJsaWMgdmlydHVhbCBwZXJzb25hCnsKICAgIHB1YmxpYzoKICAgIHZvaWQgcXVlX2VyZXMoKQogICAgewogICAgICAgIGNvdXQ8PCJTb3kgdW4gZXN0dWRpYW50ZS4oIjw8dGhpczw8IikiPDxlbmRsOwogICAgICAgIHBlcnNvbmE6OnF1ZV9lcmVzKCk7CiAgICB9Cn07CgpjbGFzcyBlbXBsZWFkbzogcHVibGljIHZpcnR1YWwgcGVyc29uYQp7CiAgICBwdWJsaWM6CiAgICB2b2lkIHF1ZV9lcmVzKCkKICAgIHsKICAgICAgICBjb3V0PDwiU295IHVuIGVtcGxlYWRvLiAoIjw8dGhpczw8IikiPDxlbmRsOwogICAgICAgIHBlcnNvbmE6OnF1ZV9lcmVzKCk7CiAgICB9Cn07CgpjbGFzcyBwcmFjdGljYW50ZTogcHVibGljIGVzdHVkaWFudGUsIHB1YmxpYyBlbXBsZWFkbwp7CiAgICBwdWJsaWM6CiAgICB2b2lkIHF1ZV9lcmVzKCkKICAgIHsKICAgICAgICBjb3V0PDwiU295IHVuIHByYXRpY2FudGUsIHBvciBjb25zaWd1aWVudGU6Ijw8ZW5kbDsKICAgIAogICAgICAgIGVzdHVkaWFudGU6OnF1ZV9lcmVzKCk7CiAgICAgICAgZW1wbGVhZG86OnF1ZV9lcmVzKCk7CiAgICB9Cn07CgppbnQgbWFpbigpCnsKICAgIHByYWN0aWNhbnRlIGpvc2U7CiAgICBqb3NlLnF1ZV9lcmVzKCk7Cn0=