Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有A、B和C班。
A 有成员 B 和 C。
C 有 B 想要访问的数据。
我正在考虑做这样的事情,并想问这是否是好的设计。
class A{ B* m_b; C* m_c; }; class B{ A* m_a; // so that i can get access to C->m_data }; class C{ vector<Obj*> m_data; }
您将如何设计 B 类?
循环指针几乎总是一个坏主意。您可能不需要C->m_data从整个班级访问B;只需将它作为参数传递给B需要查看它的方法。
C->m_data
B
您没有提供有关您实际想要实现的目标的足够信息,但您不需要m_a(匈牙利符号,等等)从C. 你可以直接在C里面有一个成员B。
m_a
C
另外,访问数据是什么意思?请注意C,无论是通过 getter 方法还是直接访问元素,都会破坏封装。
您确定C(或A)必须是 的成员B吗?似乎您可以将其作为参数传递。
A