【发布时间】:2013-01-09 01:22:58
【问题描述】:
考虑 A 类和 B 类。A 类与 B 类友好。B 类有一个私有构造函数。类 A 可以创建类 B 实例,还是私有构造函数向编译器指示该类不能被实例化,即使是朋友类?
下面是一些示例代码:
class B;
class A {
void myFunction() {
B newBobject;
}
};
class B {
private:
B() {}
public:
int someData;
friend class A;
};
另外,请注意我使用的是 C++03。如果在 C++03 中无效,在 C++11 中是否允许?
作为一个附带问题,Singleton 方法是如何相关的?它是专门处理实例化一个对象的一个实例,还是只实例化一个对象?
【问题讨论】:
-
你的意思是Singleton吗?
-
@OliCharlesworth 是否编译了在这些情况下我会认为法官很差...
-
哎呀!是的'单身'
-
@paul23:这绝不是确定的,但它会是一个开始...... ;)
标签: c++ private-constructor friend-class