在运行时 C++ 中使用派生 class
using derived class in runtime c++
这是在运行时检查 mybase class 是否是派生的 class。我需要在运行时使用 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
。
这是在运行时检查 mybase class 是否是派生的 class。我需要在运行时使用 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
。