这是在运行时检查 mybase 类是否是派生类。我需要在运行时使用 myBase 调用 myDerived.member1 中的成员变量,例如 myBase.member1。这里 myBase 是一个指针。如何做到这一点。
if(dynamic_cast<myDerived*>(myBase))
最佳答案
我会这样做:
myDerived* p_derived = nullptr;
p_derived = dynamic_cast<myDerived*>(myBase);
if (p_derived != nullptr)
//do something with p_derived->member1;
这样您只需调用一次(可能代价高昂的)dynamic_cast
。
关于c++ - 在运行时 C++ 中使用派生类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29872408/