I found in one article saying \"static_cast is used for non-polymorphic type casting and dynamic_cast is used for polymorphic type casting\". I understand that int and double ar
Well, the answer is simple. A class having atleast one virtual function is called a polymorphic type. This can be only a destructor also.
So the following is a 'polymorphic type'.
struct Test { virtual ~Test(); };