57 using Teuchos::rcp_dynamic_cast;
62 RCP<AEvil<T> > aEvil =
63 rcp_dynamic_cast<AEvil<T> >(EvilBase<T>::createEvil(
"AEvil"));
64 RCP<BEvil<T> > bEvil =
65 rcp_dynamic_cast<BEvil<T> >(EvilBase<T>::createEvil(
"BEvil"));
69 aEvil->callBEvil(*bEvil, obj);
70 bEvil->callAEvil(*aEvil, obj);
void testEvil(const T &obj)