假设我有一个Base类和几个Derived类。有什么方法可以将对象强制转换为派生类之一,而无需编写如下内容:
string typename = typeid(*object).name();
if(typename == "Derived1") {
Derived1 *d1 = static_cast< Derived1*>(object);
}
else if(typename == "Derived2") {
Derived2 *d2 = static_cast < Derived2*>(object);
}
...
else {
...
}