社区
C++ 语言
帖子详情
c++类中函数设为私有
hw19886200
2011-03-12 01:28:55
我想请教下大家 。 一般在c++类中,哪一类的函数需要设置为私有,保护。有什么约定俗称的没有。我只是习惯将线程函数设置为私有,然后就是一些数据设置为私有。其他的我怎么都感觉设置为protected的好。
有木有什么好的判别方法来规范这个呢? 或者大家一般怎么用的。小弟初学c++。拜谢了!
...全文
110
9
打赏
收藏
c++类中函数设为私有
我想请教下大家 。 一般在c++类中,哪一类的函数需要设置为私有,保护。有什么约定俗称的没有。我只是习惯将线程函数设置为私有,然后就是一些数据设置为私有。其他的我怎么都感觉设置为protected的好。 有木有什么好的判别方法来规范这个呢? 或者大家一般怎么用的。小弟初学c++。拜谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
C++
STL
函数
应用
C++
STL
函数
算法精讲+刷题实战,包括16个常用STL
函数
,vector/stack/queue/deque/priority_queue、list/bitset/set/multiset/map/multimap等
函数
应用和刷题实战。
c++
类成员
函数
可以访问
私有
变量
同一类下的成员
函数
可以访问
私有
对象
C++
类的构造
函数
可以
私有
吗?
我们知道,当我们在程序
中
声明一个对象时,编译器为调用构造
函数
(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造
函数
是
私有
的,由于在class外部不允许访问
私有
成员,所以这...
c++
中
的
私有
构造
函数
<br />一般构造
函数
不是
私有
或者保护成员,但构造
函数
可以使
私有
成员
函数
,在一些特殊的场合,会把构造
函数
定义为
私有
或者保护成员。 <br />
C++
类的构造
函数
一般不应该是
私有
函数
,因为
私有
函数
不能被...
C++
私有
构造
函数
的使用
很多情况下要求当前的程序
中
只有一个object... 当我们在程序
中
声明一个对象时,编译器为调用构造
函数
(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造
函数
是
私有
的,由于在...
C++ 语言
64,682
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章