gpt4 book ai didi

c++ - 如何在没有全局变量的情况下共享此数据

转载 作者:行者123 更新时间:2023-11-27 23:19:20 25 4
gpt4 key购买 nike

我正在尝试找出最合乎逻辑、最安全、最有效的方法来完成此任务,而不使用全局变量。

假设我有一个类:

class SomeClass{
public: someFunction(){...}
};

另一个类将 SomeClass 实例化为数据成员:

class AnotherClass{
SomeClass theTest;
void anotherFunction(){...}
int myDataInt;
};

现在,我希望 SomeClass 中的 someFunction 能够轻松访问 AnotherClass 中的 myDataInt。一种方法是将 int 参数添加到 AnotherClass 传入的 someFunction 中。也许这是唯一合适的方法。但我希望在 someFunctionmyDataInt 之间进行更“自动”的访问。另一种选择是简单地让 AnotherClassSomeClass 中设置数据,使其等于它自己的 myDataInt。但是后来我有两个类存储相同的数据,这似乎是多余的。

还有其他建议吗?非常感谢。

最佳答案

SomeClass 中添加指向包含 AnotherClass 的指针:

class SomeClass{
AnotherClass* enclosing;
public:
someFunction(){
int x=enclosing->myDataInt;
...
}
};

编辑:此外,正如上面 iammilind 所提到的,您将希望让 SomeClass 成为 AnotherClass 的 friend ,或者为 myDataInt< 提供访问器方法.

关于c++ - 如何在没有全局变量的情况下共享此数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14451828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com