关于c++类的问题
将数据设置为私有private,那么可以通过添加get()和set()函数来修改和读取数据,那么还可以将这个数据设置为public,上面两种做法有什么区别,反而觉得第二种...
将数据设置为私有private,那么可以通过添加get()和set()函数来修改和读取数据,
那么还可以将这个数据设置为public,
上面两种做法有什么区别,反而觉得第二种做法比较简单点,直接访问和修改私有数据,
在这里get和set显得有点多余了,是这样吗? 展开
那么还可以将这个数据设置为public,
上面两种做法有什么区别,反而觉得第二种做法比较简单点,直接访问和修改私有数据,
在这里get和set显得有点多余了,是这样吗? 展开
3个回答
展开全部
C++中类的作用,就是用来实现数据的封装和保护,因此才会有private,protected,public等区分。将私有数据成员设置为private以后,虽然看程序代码的人能看到你的私有数据成员,但是在main函数里通过对象无法调用和修改私有数据成员。这个时候就要用该类public的成员get()。set()来获取了。
如果直接改成public了,确实是比get,set函数方便,但是违背了类的原则:数据的封装和保护。修改后后在mian函数里就能直接使用它们,并且能够改变私有数据成员。这样就十分不安全了。
最后我想说一下,get()函数用来获取私有数据成员的值没错,但是我觉得set()函数不是用来修改数据成员的值……准确说应该是从外部输入相应参数的赋给私有数据成员(和没有默认值参数的构造函数有点像)吧……个人意见,仅供参考……
如果直接改成public了,确实是比get,set函数方便,但是违背了类的原则:数据的封装和保护。修改后后在mian函数里就能直接使用它们,并且能够改变私有数据成员。这样就十分不安全了。
最后我想说一下,get()函数用来获取私有数据成员的值没错,但是我觉得set()函数不是用来修改数据成员的值……准确说应该是从外部输入相应参数的赋给私有数据成员(和没有默认值参数的构造函数有点像)吧……个人意见,仅供参考……
展开全部
private可以让你的数据不能直接被访问,保护了数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是这样的, 通过get和set来访问, 是为外界提供了一个接口. 有好多的好处
1. 如果修改了成员的名称, 我们只要修改get的定义就可, 如果直接访问, 所有的地方都要改
2. set函数, 还可以加入一定的检查, 防止成员被无节制的修改
1. 如果修改了成员的名称, 我们只要修改get的定义就可, 如果直接访问, 所有的地方都要改
2. set函数, 还可以加入一定的检查, 防止成员被无节制的修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询