#include <iostream>
struct Bird {
virtual void sing() { std::cout << "tweet, tweet\n"; }
};
struct Sparrow : Bird {
void sing() { std::cout << "chirp, chirp\n"; }
};
int main() {
Sparrow sparrow;
Bird& bird = sparrow;
bird.sing();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEJpcmQgewoJdmlydHVhbCB2b2lkIHNpbmcoKSB7IHN0ZDo6Y291dCA8PCAidHdlZXQsIHR3ZWV0XG4iOyB9Cn07CgpzdHJ1Y3QgU3BhcnJvdyA6IEJpcmQgewoJdm9pZCBzaW5nKCkgeyBzdGQ6OmNvdXQgPDwgImNoaXJwLCBjaGlycFxuIjsgfQp9OwoKaW50IG1haW4oKSB7CglTcGFycm93IHNwYXJyb3c7CglCaXJkJiBiaXJkID0gc3BhcnJvdzsKCWJpcmQuc2luZygpOwoJcmV0dXJuIDA7Cn0=