如何使用拥有私有复制构造函数和赋值构造函数的对象?
可能的重复:
如何使用对象复制构造函数和复制赋值是私有的吗?
在阅读 TCPL 时,我遇到了一个问题,正如标题所提到的,然后“私有”类是:
class Unique_handle {
private:
Unique_handle& operator=(const Unique_handle &rhs);
Unique_handle(const Unique_handle &rhs);
public:
//...
}
使用代码是:
struct Y {
Unique_handle obj;
};
我想做这样的操作
main()
{
Y y1;
Y y2 = y1;
return 0;
}
虽然,这些代码来自TCPL,但我仍然无法得到解决方案......任何人都可以帮助我,感激不尽。
Possible Duplicate:
How to use a object whose copy constructor and copy assignment is private?
In reading TCPL, I got a problem, as the title refered, and then 'private' class is:
class Unique_handle {
private:
Unique_handle& operator=(const Unique_handle &rhs);
Unique_handle(const Unique_handle &rhs);
public:
//...
}
The using code is:
struct Y {
Unique_handle obj;
};
And I want to do such operations
main()
{
Y y1;
Y y2 = y1;
return 0;
}
although, these code are come from TCPL, but I still can not got the solution... Can anybody help me, appreciate.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
显然,您需要在该类中进行“朋友”声明,或者该类已经具有静态访问器,可以创建甚至分配您需要的实例。
Evidently you need "friend" declarations in that class, or that class already has static accessors that will create or even assign the instance you need.