如何在不确切知道类类型的情况下轻松创建类对象

时间:2015-08-07 22:38:28

标签: c++

假设我有一个基类Base和两个派生类A,B 我如何动态创建obj,而不知道它是ClassA还是ClassB,我需要实现这样的事情:

func(Base &b)
{
X *obj = new X();
}

X将是A或B,取决于b的实际类型。

我能想到的唯一方法是检查dynamic_cast<A&>(b)是否成功,如果抛出错误,它必须是ClassB。

还有比这更好的方法吗?因为我可能有更多派生类.ClassA,B,C,D ......

0 个答案:

没有答案