2 small fix...Code:class B {}; class D : public B {}; int main() { B *x = new D; if (dynamic_cast<D *>(x) == NULL) std::cout << "x is of type D\n"; }
Code:class B { virtual void f(); }; class D : public B { virtual void f(); }; int main() { B *x = new D; if (dynamic_cast<D *>(x) != NULL) std::cout << "x is of type D\n"; }