我们在程序中定义了一个基类,该基类有n个子类,为了方便,我们经常定义一个基类的指针数组,数组中的每一项指向都指向一个子类,那么在程序中我们如何判断这些基类指针是指向哪个子类呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Base * pf; Derived s1; pf = &s1; //cout << typeid(*pf).name() << endl; if (strcmp(typeid(Derived).name(), typeid(*pf).name()) == 0) { cout << "this is Derived class"; } else { cout << "not is Derived class"; } |
发表评论
要发表评论,您必须先登录。