【发布时间】:2017-05-29 16:32:59
【问题描述】:
如何限制类的实例化仅在特定类中?
我不想将它限制在单个文件中,所以匿名命名空间不适合我。
请注意,我想让被限制类的声明对整个世界可见,只是全世界只有一个特定的候选人可以实例化它。
我怎样才能做到这一点?
【问题讨论】:
-
将单独的类作为
friend与非公共可构造类的private构造函数结合使用,应该可以工作。 -
" 我想让被限制类的声明对全世界可见,只是全世界只有一个特定的候选者只能实例化和访问它" 那么,为什么显示如果你不能触摸它?我错过了什么吗?
-
你想要一个单例模式吗?实例化一次并为所有事情使用一个实例?
-
可能是抽象工厂模式。
-
@Mariners 不,我没有建议。您从哪里读到我建议制作一切
private?我的建议是:privateconstructor,这正是最佳答案所建议的,举个例子。