【发布时间】:2018-08-10 10:05:05
【问题描述】:
考虑一下我有一堆指向不同类的不同对象的指针
class1* obj1;
class2* obj2;
class3* obj3;
他们都有一个方法getArray(),它返回一个用于后期处理的向量。
如果所有这些指针都存储在某种列表中(比如一个 void 指针列表)
当我迭代列表时,有没有办法确定可以使用哪种类型的指针转换?
我知道这可以通过类层次结构和从单个类派生上述类来解决。由于其中很多是遗留代码,可以完成上述提到的事情吗?
Folly dynamic 不允许我存储指针,这是尝试过的一件事
【问题讨论】:
-
所有类都实现接口吗?如果是,您可以强制转换为接口的类型。如果它们没有以任何形式(接口、继承)链接,那就没那么容易了。
-
你能修改有问题的列表吗?
-
我们可以将
void*的列表替换为其他列表吗?