added DisgnByContract.h
dynamic_cast