【发布时间】:2008-10-28 12:26:37
【问题描述】:
假设我有一个 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 {
...
}
【问题讨论】: