http://stackoverflow.com/questions/13783312/how-does-dynamic-cast-workhttp://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Fkeyword_dynamic_cast.htmhttp://www.codingunit.com/cplusplus-tutorial-typecasting-part-2-rtti-dynamic_cast-typeid-and-type_infohttp://msdn.microsoft.com/en-us/library/cby9kycs(v=vs.80).aspx