为什么C ++复杂类使用函数来修改实部和虚部?公共成员变量是否也可以在不必处理getter和setter的情况下工作?所有被隐藏的是真实和想象部分的私人名称。
答案 0 :(得分:15)
这样做的简单原因是它允许实现随着时间的推移而改变,即使它实际上不会经常改变(如果有的话)。如果你有一个类并且你正在修改它的实例变量,那么你现在依赖于那些存在的实例变量而不是一个可以保持不变而不改变的公共接口(尽管实现发生了变化,例如与平台相关的代码)。
Femaref的答案也是正确的 - 这些方法可以允许某些必要的逻辑发生。没有它,您可能无法从对象中获取正确的数据。
答案 1 :(得分:7)
可能是因为方法中存在其他逻辑,这对于公共成员变量是不可能的。