我试图找出最合理,最安全,最有效的方式来完成此操作,而不使用全局变量。如何在没有全局变量的情况下共享此数据
假设我有一个类:
class SomeClass{
public: someFunction(){...}
};
而另一个类实例化SomeClass
的数据成员:
class AnotherClass{
SomeClass theTest;
void anotherFunction(){...}
int myDataInt;
};
现在,我想在SomeClass
的someFunction
,以便能够方便地访问myDataInt
在AnotherClass
。一种方法是将int
参数添加到someFunction
,即AnotherClass
通过。也许这是唯一可行的方法。但我希望在someFunction
和myDataInt
之间有更多的“自动”访问。另一种选择是简单地在SomeClass
中设置AnotherClass
的设置数据,它等于它自己的myDataInt
。但是,我有两个类存储相同的数据,这似乎是多余的。
其他建议?非常感激。
怎么样'类AnotherClass {朋友类SomeClass的; ...};'。其他方法是让'getter()/ setter()'为'myDataInt',任何人都可以相应地使用它。 – iammilind
你的例子很有意思,因此毫无意义。没有什么神奇的方法可以让一个外部变量自动地被一个方法使用,而不需要传入。真正的问题是,为什么一个类需要如此密切地了解另一个类的数据? – meagar
感谢@iammilind“朋友”的想法是合理的,我不会考虑这一点。 – johnbakers