DLL A中基类有静态数组变量 A中派生类 和 DLL B中派生类把自己添加到数组中 DLL B中的数组是拷贝一份的 怎样合成一份?
不好意思 我都不知道怎么在标题里描述清楚 还是请大家看详细内容:
我有三个DLL
DLL A定义了一个Factory 即一个标准库的map 把类的Create函数和类名绑定在一起
DLL B定义了一个基类 基类中包含一个静态的Factory变量 在DLL B中也有一些派生类 这些类的类名和Create函数添加到静态变量中
DLL C也定义了一些派生类 把这些类的类名和Create函数也添加到了基类的Factory变量里
但是在应用程序里生成DLL C中定义的派生类时 通过Factory来创建是失败的 因为Factory的map里只有DLL B的相关派生类数据 我跟进去看了一下 发现DLL B中和DLL C中各生成了一个Factory的变量 而且它们是独立的 我现在需要的是 不管几个DLL 凡是从基类派生出来的类 都是放在同一个Factory静态变量里边 而不是每个DLL会有独立的变量
谢谢大家