在不同类的对象之间共享变量 (C++)

Sharing variables between objects of different classes (C++)

本文关键字:共享变量 C++ 之间 对象 同类      更新时间:2023-10-16

我觉得我应该已经知道如何做到这一点,但我不确定最好的方法。

我有 A 类,其中包含一个私有类 B 对象和类 C 对象,

在类 C 对象中,我需要访问类 B 对象和父类 A 对象的成员,有没有简单的方法可以做到这一点?

在类 C 中,可能具有指向类 B 和类 A 对象的成员。但无论如何,没有直接的方法可以从外部访问对象的私有变量。

您可能必须通过将类 A 的引用(无论如何您都可以通过该引用访问类 B)传递给类 C 来"注入"这些依赖项,无论是通过类 C 的构造函数还是您定义的某个方法。

在类 C 中,您可以定义引用的类型(即指针),然后从构造函数或方法的输入中为其赋值(取决于您选择的选项)。

编辑:@Nipun是正确的,如果对象B是私有的,那么你无论如何都无法从自身外部访问它。

这不是我真正说这个的地方,但如果我发现自己处于这种情况,这通常意味着我设计的课程很混乱,他们需要调整或完全重新设计......