是否真的有必要在类的成员函数中使用accessor和mutator函数?也就是说,我们不是直接引用该类的成员变量,而是调用getter来获取值...
在同一类的成员函数中,我没有看到使用访问器或mutator的必要性或推理。
哦,顺便说一句,这些成员变量是私有的。
答案 0 :(得分:0)
不,没有必要。
这只是一个惯例,仅此而已。拥有这些类型的访问器方法 - 甚至在其他类方法中使用它们 - 可能有助于使将来更改类更容易实现,但这不是严格要求的。
答案 1 :(得分:0)
嗯,不,不是。但它确实为您提供了许多额外的可能性。特别是你以后才会意识到的。
首先,你可以让他们virtual
。所以任何子类都可以用自己的方式实现setter和getter。
其次,你可以稍后决定:"哦,每当这个价值发生变化时我都会做点什么。"只需在您的setter中添加一行代码,而不是ctrl-f
- 整个项目或其他任何内容。
当然是及时更新。想象一下,这个值需要相当多的计算才能达到。而有一半的时间你甚至不知道。只需在你的吸气剂中计算它,记住未来的结果,然后将其返回。现在你只计算它,如果你真的需要它。
所以是的,你可以将价值观设为私有,但你必须确定你以后不会后悔。
只是为了好玩,看看" qt属性"。