在不同类的对象之间共享变量 (C++)
Sharing variables between objects of different classes (C++)
我觉得我应该已经知道如何做到这一点,但我不确定最好的方法。
我有 A 类,其中包含一个私有类 B 对象和类 C 对象,在类 C 对象中,我需要访问类 B 对象和父类 A 对象的成员,有没有简单的方法可以做到这一点?
在类 C 中,可能具有指向类 B 和类 A 对象的成员。但无论如何,没有直接的方法可以从外部访问对象的私有变量。
您可能必须通过将类 A 的引用(无论如何您都可以通过该引用访问类 B)传递给类 C 来"注入"这些依赖项,无论是通过类 C 的构造函数还是您定义的某个方法。
在类 C 中,您可以定义引用的类型(即指针),然后从构造函数或方法的输入中为其赋值(取决于您选择的选项)。
编辑:@Nipun是正确的,如果对象B是私有的,那么你无论如何都无法从自身外部访问它。
这不是我真正说这个的地方,但如果我发现自己处于这种情况,这通常意味着我设计的课程很混乱,他们需要调整或完全重新设计......
相关文章:
- C++子类共享变量?
- 子目录之间的 CMAKE 共享变量
- 如何在不同的CMakeList.txt之间共享变量?
- OpenMP 任务看不到共享变量的更改
- OpenMP:当我按线程 ID 访问共享变量时,我是否需要一个关键部分
- 多个 OpenMP 线程读取(而不是写入)共享变量的性能成本?
- 在 pthread 中使用共享变量
- 提升线程问题,当一个线程与另一个线程没有相同的副本时如何共享变量?
- C :与多个文件共享变量
- 使用共享变量进行线程处理
- 是否要确保一个线程修改的任何数据类型的共享变量对其他线程可见
- 在派生类之间复制共享变量(浅副本就足够了)
- 为什么跨线程更改共享变量的代码显然没有受到竞争条件的影响
- 从多个线程C 更改共享变量
- 在不同类的对象之间共享变量 (C++)
- 管理多线程应用程序中的共享变量
- C 类共享变量
- 增强多线程和共享变量
- 共享变量和局部变量C++
- 对共享变量的无保护访问是否总是数据竞赛