#include <iostream>
class Animal {
public:
typedef enum { DOG = 0, TIGER, TANASIN } AnimalType;
private:
AnimalType animalType;
public:
Animal() {}
Animal(AnimalType animalType) { this->animalType = animalType; }
void noise() {
switch(animalType) {
case DOG:
std::cout <<"Ruff Ruff"<< std::endl;
break;
case TIGER:
std::cout <<"Glug Glug"<< std::endl;
break;
default:
break;
}
}
};
int main() {
Animal *pappy = new Animal(Animal::DOG);
pappy->noise();
delete pappy;
return 0;
}
/* end */
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCmNsYXNzIEFuaW1hbCB7CnB1YmxpYzoKICB0eXBlZGVmIGVudW0geyBET0cgPSAwLCBUSUdFUiwgVEFOQVNJTiB9IEFuaW1hbFR5cGU7CnByaXZhdGU6CiAgQW5pbWFsVHlwZSBhbmltYWxUeXBlOwpwdWJsaWM6CiAgQW5pbWFsKCkge30KICBBbmltYWwoQW5pbWFsVHlwZSBhbmltYWxUeXBlKSB7IHRoaXMtPmFuaW1hbFR5cGUgPSBhbmltYWxUeXBlOyB9CiAgdm9pZCBub2lzZSgpIHsKICAgIHN3aXRjaChhbmltYWxUeXBlKSB7CiAgICBjYXNlIERPRzoKICAgICAgc3RkOjpjb3V0IDw8IlJ1ZmYgUnVmZiI8PCBzdGQ6OmVuZGw7CiAgICAgIGJyZWFrOwogICAgY2FzZSBUSUdFUjoKICAgICAgc3RkOjpjb3V0IDw8IkdsdWcgR2x1ZyI8PCBzdGQ6OmVuZGw7CiAgICAgIGJyZWFrOwogICAgZGVmYXVsdDoKICAgICAgYnJlYWs7CiAgICB9CiAgfQp9OwoKaW50IG1haW4oKSB7CiAgQW5pbWFsICpwYXBweSA9IG5ldyBBbmltYWwoQW5pbWFsOjpET0cpOwogIHBhcHB5LT5ub2lzZSgpOwogIGRlbGV0ZSBwYXBweTsKICByZXR1cm4gMDsKfQovKiBlbmQgKi8K