c++ - 如何使用获得私有(private)复制构造函数和赋值构造函数的对象?

标签 c++ private-constructor

<分区>

Possible Duplicate:
How to use a object whose copy constructor and copy assignment is private?

在阅读 TCPL 时,我遇到了一个问题,如标题所指,然后“私有(private)”类(class)是:

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,但我仍然无法得到解决方案......任何人都可以帮助我,不胜感激。

最佳答案

显然您需要在该类中声明“友元”,或者该类已经具有将创建甚至分配您需要的实例的静态访问器。

关于c++ - 如何使用获得私有(private)复制构造函数和赋值构造函数的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2979266/

相关文章:

c++ - C/C++ 中的 Linux 网络接口(interface)使用情况监控

c++ - 声明构造函数私有(private)和 =delete 有什么区别?

java - 没有值的 java 枚举和具有私有(private)构造函数的实用程序类之间的区别

c++ - string_view 指向另一个字符串

c++ - 为什么私有(private)构造函数阻止对象创建 C++

java - 为什么我可以在子类中继承并调用私有(private)构造函数?

具有私有(private)构造函数的 C++ 静态列表

c++ - 我错过了使用数组的意义吗?

C++派生类构造函数调用基类构造函数错误

c# - C++ - 如何消除宏? (将应用程序移植到即 c# 中)