【发布时间】:2014-04-06 11:39:09
【问题描述】:
我有一个在运行时存在许多实例的类(A 类)。该类使用另一个处理资源分配的类(R 类)。由于第二类(R 类)正在为 A 类的所有实例进行资源分配,因此它必须只有一个副本。
所以它看起来像这样:
Class P (Parent)
Class A[64], which are childs of Class P
Each of these requires access to the single instance of Class R
我想知道这个问题的最佳解决方案。
- 让父级(P 类)实例化 R 类并传递 每个 A 类的实例。问题:P 类不关心 R类,没有用。必须这样做似乎很愚蠢 管理它。
- 全局变量,可能隐藏在命名空间中问题:任何人都可以 然后使用它,它应该限制在A类。
- A 类内部的静态变量,因此 A 类的所有实例都有 访问 R 类的同一个实例。问题:静态类 变量是邪恶的
还是我没有想到的?
【问题讨论】:
-
父子关系是指继承还是客户-仆人关系?
-
在线查找单例模式
-
@Tomasz Bekas:我的意思是 P 类实例化了 A 类,例如,它将包含诸如 newChild = new ClassA(); 之类的代码
标签: c++ class static-members