#include <iostream> using namespace std; #include <typeinfo> class B { int i; public: B() { i = 1; } int get_i() { return i; } }; class D : B { int j; public: D() { j = 2; } int get_j() { return j; } }; int main() { B* p = new D; //(1) cout << p->get_i(); //(2) if (typeid((B*)p).name() == "D*") cout << ((D*)p)->get_j(); return 0; }