这是在运行时检查mybase类是派生类。我需要在运行时使用myBase调用myDerived.member1调用成员变量,如myBase.member1。这里myBase是一个指针。怎么做。
if(dynamic_cast<myDerived*>(myBase))
答案 0 :(得分:1)
我会这样做:
myDerived* p_derived = nullptr;
p_derived = dynamic_cast<myDerived*>(myBase);
if (p_derived != nullptr)
//do something with p_derived->member1;
这样你只需要拨打dynamic_cast
一次(可能是昂贵的)电话。