c++类中函数设为私有

hw19886200 2011-03-12 01:28:55
我想请教下大家 。 一般在c++类中,哪一类的函数需要设置为私有,保护。有什么约定俗称的没有。我只是习惯将线程函数设置为私有,然后就是一些数据设置为私有。其他的我怎么都感觉设置为protected的好。

有木有什么好的判别方法来规范这个呢? 或者大家一般怎么用的。小弟初学c++。拜谢了!
...全文
110 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hw19886200 2011-03-15
  • 打赏
  • 举报
回复
自己已解决 谢谢大家的回复
pathuang68 2011-03-12
  • 打赏
  • 举报
回复
好像有一个同样的帖子:
http://topic.csdn.net/u/20110312/13/9cd088b4-898a-4d76-89f2-cd7b2b8e99b0.html?20917

需要被外部调用的函数,就设为public。否则就设为protected或者private。
protected这个关键字主要和继承关联起来的。在基类中protected的成员,如果是public继承的话,那么在其派生类中式可见的,在其它类是不可见的;如果是private继承的话,那么在其直接派生类中是可见的,但在其间接派生类中就不可见了。

总之,原则就是,尽可能地将成员private化
JACKINZHUHAI 2011-03-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xgy8705023 的回复:]

你给外部提供的接口,要是public的,你给内部调用的写成private或protected,当你希望子类可以使用父类的内部函数,你就用protected
[/Quote]
赞同!将成员数据看成服务,使用服务的对象看成客户端。如客户端是外部的,那么服务就修饰为public,否则为private , protected
pengzhixi 2011-03-12
  • 打赏
  • 举报
回复
额,这个没有什么约定俗称的。有些函数比如单件里面的构造函数,拷贝构造函数都得声明为私有。关键在于你是否愿意让人家调用你这个成员函数。不愿意那么就声明为私有
super_admi 2011-03-12
  • 打赏
  • 举报
回复
人生来就是是自私的,希望你能懂得这个道理。
Defonds 2011-03-12
  • 打赏
  • 举报
回复
开放是一种责任,能封闭(私有)就私有,但是一旦开放,就无法收回承诺了
多看看设计模式吧
wei801516 2011-03-12
  • 打赏
  • 举报
回复
如果需要调用人家设置为public的 函数 可以让人家给你设置一个友元!~~~
xgy8705023 2011-03-12
  • 打赏
  • 举报
回复
你给外部提供的接口,要是public的,你给内部调用的写成private或protected,当你希望子类可以使用父类的内部函数,你就用protected
暗黑帝国 2011-03-12
  • 打赏
  • 举报
回复
你想给人家是用的函数设为public,其他的都应该设为protected或者private

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧