I think what hk_mp5kpdw means is that you should have written:

if (event->getType().compare("shot")==0) {
Shot* shot=dynamic_cast<Shot*>(event);
if (shot != 0) {
cout <<...