我希望只有A可以创建B。(我还想在头文件中导出otherAPIs方法。) 但我不能将 B 构造函数设为私有(private)。有没有办法解决我的问题? 谢谢。
class B
{
private:
B()
{ // doing something}
public:
void otherAPIs()
{}
};
class A
{
public:
B *getSomething()
{ //doing something
return new B()}
};
最佳答案
如果你只想让A
创建B
,你可以通过添加让A
成为B
的 friend friend class A;
在B
的声明体中。
关于c++ - 访问私有(private)构造函数 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22827268/