类的构造函数可以是私有的吗?

acboboly 2004-04-05 05:01:47
类的构造函数可以是私有的吗?
谢谢!
...全文
1382 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
yndfcd 2004-07-19
  • 打赏
  • 举报
回复
参看SingleTon设计模式.
yndfcd 2004-07-19
  • 打赏
  • 举报
回复
构造函数可以是私有的.
xjp6688 2004-07-19
  • 打赏
  • 举报
回复
构造函数可以是私有
darkstar21cn 2004-07-19
  • 打赏
  • 举报
回复
可以的,有些纯的虚类就是采用这种办法来实现的。
比如,ACE框架中就较多的使用了这种方法。
showlie 2004-07-19
  • 打赏
  • 举报
回复
to 小宝:我不是说了“除单件模式中的static方法除外”嘛!如果想创建多个对象呢!反正我试过好几种方法都无法初始化对象,除了单件模式中提到的static方法,希望高手给个可行的方法,别光说行不行,给出代码先!
NEW的实质也就是默认构造函数的对象的初始化,但是对象以外的任何代码都无法访问类的私有成员,那么怎么去NEW对象呢?
tatbaby 2004-07-19
  • 打赏
  • 举报
回复
学习中
qiqi162002 2004-07-19
  • 打赏
  • 举报
回复
showlie(想长膘的小猪……) 楼上上的不是都说了用NEW了吗,调用NEW后应该会调用私有的
构造函数的
steel007 2004-07-18
  • 打赏
  • 举报
回复
当然可以,比如singlton模式,楼上的可以看看design pattern.
showlie 2004-07-18
  • 打赏
  • 举报
回复
那楼上的,你们有没有试过把构造函数设置成私有,看你们怎么初始化对象?别光说,先写个代码试试!
EricZhuo 2004-07-18
  • 打赏
  • 举报
回复
完全可以。这时候可以产生特殊的语义效果
zhengwei1984222 2004-07-18
  • 打赏
  • 举报
回复
构造函数有很多种啊当然可以私有
如将复制构造函数设为私有可以防止对象拷贝
idau7 2004-07-18
  • 打赏
  • 举报
回复
fygood() 说的对。
languagec 2004-07-18
  • 打赏
  • 举报
回复
有什么不可以吗?和公有的有区别吗?
SBNOone 2004-07-18
  • 打赏
  • 举报
回复
mark~
showlie 2004-07-18
  • 打赏
  • 举报
回复
不行,除非用单件模式中的static方法。否则无法创建类的对象。
to hackingtruth(尘封) : 利用拷贝构造函数代替默认构造函数是不可能的,因为无法从默认构造函数中初始化对象,也就无从拷贝了。
seyu007_2001 2004-07-18
  • 打赏
  • 举报
回复
为什么说“定义一个私有的析构函数更常用些”?定义了私有的析构函数,就不能在栈中声明这个类的变量了吗?
  • 打赏
  • 举报
回复
私有的构造函数是c++编程的高级技巧,可以防止用户创建该类的对象。

初学者最好用public构造。
liushuaiboy 2004-05-05
  • 打赏
  • 举报
回复
mark
cqfsk 2004-04-09
  • 打赏
  • 举报
回复
可以。我想你可能要求你的类用户只能用某种你提供的特定的构造函数来创建一个对象,而不使用系统自动为你生成的默认构造函数。
yonyon 2004-04-09
  • 打赏
  • 举报
回复
可以

但是何必呢?
加载更多回复(24)

64,637

社区成员

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

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