【发布时间】:2018-07-03 00:34:44
【问题描述】:
我想选择一个随机类,并在运行时创建它的一个对象(我选择的类是从基类派生的)。我如何做到这一点
【问题讨论】:
-
不,您不能创建定义数组。
-
A、B和C是否继承自公共基类? -
这是一个很糟糕的问题。这是XY Problem的典型案例。
-
@NathanOliver 是的,它们继承自一个通用基类
-
你不能做类似
Base *ptr; switch (rand()%3) {case 0: ptr = new A; break; case 1: ptr = new B; break; case 2: ptr = new C;}的事情吗? (或者更好的是,使用unique_ptrs 而不是普通指针。)
标签: c++