1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <typeinfo> class Base { public: virtual ~Base() { } }; class Derived : public Base { }; int main() { const Derived b; const Base* ap = &b; const Derived* p1 = dynamic_cast<const Derived*>(ap); return p1 == 0; }