Polymorphic Behavior Downcasting In C Oop