提问人:Rahul Naik 提问时间:4/11/2018 更新时间:4/11/2018 访问量:630
Classname(const Classname&)的使用C++中的构造函数oveloading?[复制]
Use of Classname(const Classname&); constructor oveloading in C++? [duplicate]
问:
我不知道它叫什么,所以我将展示代码......也许与构造函数重载有关:
class Classname{
public:
Classname(Class1& pClass1,Class2& pClass2);
private:
Classname(const Classname&);
void operator=(const Classname&);
};
私人部分的 2 个语句有什么作用?
答:
1赞
rak007
4/11/2018
#1
将“复制构造函数”和“复制赋值运算符”放在私有状态只是禁止使用它们的一种方式,因为它们在此类之外使用时会引发错误。
如果你真的想禁止使用它们,我建议这样做:
class Classname
{
public:
Classname(Class1& pClass1,Class2& pClass2);
Classname(const Classname&) = delete;
void operator=(const Classname&) = delete;
private:
...
};
评论