我有四个类A
、B
、C
和D
。
- 类
A
有一个类的成员b
B
。 - 类
B
具有类C
的成员c
。
A
有一个成员 D* dpointer;
必须保留此层次结构(事实上,这是一个 GUI,其中应用程序、窗口、面板分别为 A
、B
和 C
) .
现在 B 和 C 必须使用 *dpointer
中的方法。
还有什么比将 dpointer
作为 B
和 C
的成员更优雅的吗?是不是很糟糕?
最佳答案
不直接,但你可以将 D 放在 shared_ptr<D>
中,这将减轻您可能遇到的任何内存管理问题。
关于C++ 共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2714361/