我想公开隐藏复制构造函数和赋值运算符。
此外,我想提供一个clone()
。
是否可以将复制构造函数和赋值运算符标记为 protected
或 private
并在克隆函数中使用它们?
也许是某种 using 子句。
原因是该类包含一些数据和一个唯一的 id,每个实例都应该递增。因此制作拷贝将使用默认赋值运算符,然后更改 id。我想避免手动复制每个成员的需要,以避免在将成员添加到类(class)时忘记添加一个成员。
最佳答案
你可以这样做:
class MyClass {
MyClass(const MyClass&) = default;
MyClass& operator=(const MyClass&) = default;
};
关于c++ - 隐藏自动生成的赋值运算符和复制构造函数而不替换它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35131797/