C ++:Accessor和Mutator函数

时间:2015-11-03 02:49:27

标签: c++

是否真的有必要在类的成员函数中使用accessor和mutator函数?也就是说,我们不是直接引用该类的成员变量,而是调用getter来获取值...

在同一类的成员函数中,我没有看到使用访问器或mutator的必要性或推理。

哦,顺便说一句,这些成员变量是私有的。

2 个答案:

答案 0 :(得分:0)

不,没有必要。

这只是一个惯例,仅此而已。拥有这些类型的访问器方法 - 甚至在其他类方法中使用它们 - 可能有助于使将来更改类更容易实现,但这不是严格要求的。

答案 1 :(得分:0)

嗯,不,不是。但它确实为您提供了许多额外的可能性。特别是你以后才会意识到的。

首先,你可以让他们virtual。所以任何子类都可以用自己的方式实现setter和getter。

其次,你可以稍后决定:"哦,每当这个价值发生变化时我都会做点什么。"只需在您的setter中添加一行代码,而不是ctrl-f - 整个项目或其他任何内容。

当然是及时更新。想象一下,这个值需要相当多的计算才能达到。而有一半的时间你甚至不知道。只需在你的吸气剂中计算它,记住未来的结果,然后将其返回。现在你只计算它,如果你真的需要它。

所以是的,你可以将价值观设为私有,但你必须确定你以后不会后悔。

只是为了好玩,看看" qt属性"。