请告诉我使用这样的东西是否正确:
class B;
class A {
B* b;
};
class B {
A& a;
};
事实是,没有A类,B类就不能存在。也就是说,有些A类落在B类上。同时,B类必须知道它属于谁。我有两个选择来解决这个问题:
- 只需将 setter 和 getter 添加到当前逻辑中,就可以使用这样的东西:
a->getB()->doSomethingInBClass();. - 在 B 类中,编写一个函数,该函数将遍历 A 类的所有现有对象,并确定这些对象中的哪些属于 B 类的对象。
但是,在内心深处,还是希望有某种模板来应对这种情况——我就是找不到……
所以它不会工作?
那些。只需将
B对其所有者的引用传递给类A- ?好吧,有点濒临犯规:),从形式上讲,直到 object 的构造函数完成A,它似乎不存在,但一切都会正常工作。而且你不需要做任何事情...还是我误解了你的问题?