<分区>
我需要开发一个快速算法,问题的自然结构是
class A {B b; C c;};
class B {};
class C {};
B 类和 C 类的某些方法使用 A 类的字段。但我认为由于范围原因,这是不可能的。 我怎样才能更好地构建它?也许在 B 和 C 中包含一个 A 类指针?
<分区>
我需要开发一个快速算法,问题的自然结构是
class A {B b; C c;};
class B {};
class C {};
B 类和 C 类的某些方法使用 A 类的字段。但我认为由于范围原因,这是不可能的。 我怎样才能更好地构建它?也许在 B 和 C 中包含一个 A 类指针?
最佳答案
不在 B 和 C 中包含指向 A 的指针,但在需要 A 元素的方法的参数列表中包含指针(虽然不是很好的解决方案)。
但是如果 B 和 C 的实例是 A 实例状态的一部分并且还需要 A 实例的其他部分,那么您应该考虑将方法从 B 和 C 移动到 A。原因:如果该方法对 b、c 和 a 的其他部分进行操作,那么它很可能是 a 的行为。
关于C++ 算法结构和类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26256539/