关于c++类的问题

将数据设置为私有private,那么可以通过添加get()和set()函数来修改和读取数据,那么还可以将这个数据设置为public,上面两种做法有什么区别,反而觉得第二种... 将数据设置为私有private,那么可以通过添加get()和set()函数来修改和读取数据,
那么还可以将这个数据设置为public,
上面两种做法有什么区别,反而觉得第二种做法比较简单点,直接访问和修改私有数据,
在这里get和set显得有点多余了,是这样吗?
展开
 我来答
灰晞郁
2011-05-25 · TA获得超过103个赞
知道答主
回答量:43
采纳率:0%
帮助的人:49.7万
展开全部
C++中类的作用,就是用来实现数据的封装和保护,因此才会有private,protected,public等区分。将私有数据成员设置为private以后,虽然看程序代码的人能看到你的私有数据成员,但是在main函数里通过对象无法调用和修改私有数据成员。这个时候就要用该类public的成员get()。set()来获取了。
如果直接改成public了,确实是比get,set函数方便,但是违背了类的原则:数据的封装和保护。修改后后在mian函数里就能直接使用它们,并且能够改变私有数据成员。这样就十分不安全了。
最后我想说一下,get()函数用来获取私有数据成员的值没错,但是我觉得set()函数不是用来修改数据成员的值……准确说应该是从外部输入相应参数的赋给私有数据成员(和没有默认值参数的构造函数有点像)吧……个人意见,仅供参考……
panweiy
2011-05-25 · TA获得超过1239个赞
知道大有可为答主
回答量:760
采纳率:0%
帮助的人:711万
展开全部
private可以让你的数据不能直接被访问,保护了数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
porker2008
2011-05-25 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部
不是这样的, 通过get和set来访问, 是为外界提供了一个接口. 有好多的好处

1. 如果修改了成员的名称, 我们只要修改get的定义就可, 如果直接访问, 所有的地方都要改
2. set函数, 还可以加入一定的检查, 防止成员被无节制的修改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式