#include <iostream>
class Animal {
public:
virtual void noise() = 0;
};
class Dog : public Animal {
public:
void noise() { std::cout <<"Ruff Ruff"<< std::endl; }
};
class Tiger : public Animal {
public:
void noise() { std::cout <<"Glug Glug"<< std::endl; }
};
int main() {
Animal *pappy = new Dog();
pappy->noise();
delete pappy;
Animal *tora = new Tiger();
tora->noise();
delete tora;
return 0;
}
/* end */
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQW5pbWFsIHsKcHVibGljOgogIHZpcnR1YWwgdm9pZCBub2lzZSgpID0gMDsKfTsKCmNsYXNzIERvZyA6IHB1YmxpYyBBbmltYWwgewpwdWJsaWM6CiAgdm9pZCBub2lzZSgpIHsgc3RkOjpjb3V0IDw8IlJ1ZmYgUnVmZiI8PCBzdGQ6OmVuZGw7IH0KfTsKCmNsYXNzIFRpZ2VyIDogcHVibGljIEFuaW1hbCB7CnB1YmxpYzoKICB2b2lkIG5vaXNlKCkgeyBzdGQ6OmNvdXQgPDwiR2x1ZyBHbHVnIjw8IHN0ZDo6ZW5kbDsgfQp9OwoKaW50IG1haW4oKSB7CiAgQW5pbWFsICpwYXBweSA9IG5ldyBEb2coKTsKICBwYXBweS0+bm9pc2UoKTsKICBkZWxldGUgcGFwcHk7CgogIEFuaW1hbCAqdG9yYSA9IG5ldyBUaWdlcigpOwogIHRvcmEtPm5vaXNlKCk7CiAgZGVsZXRlIHRvcmE7CiAgcmV0dXJuIDA7Cn0KLyogZW5kICovCg==