本文介绍了查看对象是什么类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我在C ++中有一个指向基类A的指针,我怎么能在我的代码中告诉该指针是到派生类B或C的呢?
If I have a pointer to a base class A in C++, how would I be able to tell in my code that the pointer is to a derived class B or C?
推荐答案假定基类A是多态的(即它至少具有一个虚函数),则可以使用dynamic_cast.给出A* ap;:
Assuming the base class A is polymorphic (i.e. it has at least one virtual function), you can use dynamic_cast. Given an A* ap;:
if (B* bp = dynamic_cast<B*>(ap)) { // the object is a B } else if (C* cp = dynamic_cast<C*>(ap)) { // the object is a C }更多推荐
查看对象是什么类
发布评论