c++类中的私有成员变量有什么作用?

私有成员变量需要公有函数来调用,那直接设公有变量不就行了吗,为什么还要多此一举呢?

私有成员变量,即定义在private区域的成员变量。
对于本类成员函数来说,该变量与其它成员变量并无区别。使用上和作用上也都相同。
对于通过对象访问,私有成员变量无法通过对象访问。通过这一方式可以起到保护一些数据不被随意修改的效果。
另外,在出现继承时,基类的私有成员变量不会被继承。
所以,如果存在想保护不被对象引用,或者不想被继承的成员变量,需要定义为私有。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-21
通过函数自己能控制外界的输入,必要时返回错误。
如果直接暴漏内部变量,会让你无法控制赋值不当带来的问题。
另外如果内部变量改名称或结构,还可以在函数中添加转换,只要改此函数即可,
否则,你不得不找出所有引用改变量的地方,然后做更改。
第2个回答  推荐于2017-10-03
设置成共有的 不利于类封装,会让客户端直接访问成员变量 这与c++的封装思想相悖。故对不允许客户直接操作的成员变量应设置为私有 并可提供 接口访问该变量本回答被提问者采纳
相似回答