Simulating the Dynamic Cast
class Mammal {public: virtual bool isaDog() { return false; } virtual bool isaCat() { return false; }
class Dog : public Mammal {public: virtual bool isaDog() { return true; }
class Cat : public Mammal {public: virtual bool isaCat() { return true; }