****编辑*** 经过一些评论后,基于直觉批准了我自己的意见 (作为参数传递)
我真正追求的是作为类(class)成员应该或不应该使用什么的指南 ****编辑***
假设 Class Example 有 很少有公共(public)功能
class Example
{
public:
A(int x);
G();
H();
Z();
private:
B();
C();
D();
E()
}
A 被调用并调用 A->B->C->D->E。 在 E 函数中,我们需要使用在 A 中获得的 X 参数,但 B,C,D 没有任何参数。
一种选择是将 int x 存储为类成员,然后在 E 中获取它。 另一种方法是通过 B->C-D->E 作为参数传递它。
在我看来,将其存储为成员是一种不好的做法,因为它与类状态或数据无关,但在大多数代码中,我看到的都是这样做的。
试图用谷歌搜索类成员的合法用法,但没有找到任何东西。
对我来说,在 oop 中使用 member 是另一种不好的做法 全局变量。
我在哪里可以找到关于它的意见或数据?
我正在使用 C++
最佳答案
the other way is to pass it through B->C-D->E as argument.
这个选项很有意义。
如果 E 需要一个参数,那么它应该有一个参数。如果 D 调用 E,则 D 应该提供该参数。如果 D 不能提供一个,那么它也需要那个来接受那个论点,等等。我推荐这种方法。
in my opinion storing it as a member is a bad practice because it has nothing with the class state or data
这是合理的推理。
还要考虑是否所有这些函数都引用对象本身。如果不是,它们可能应该是静态成员,甚至是自由函数。
关于c++ - 类成员值的合法或错误成员使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561795/