我是一名有用的助手,可以为您翻译文本。
我已经听过很多次,如果提供了复制构造函数,就必须提供赋值运算符。然而,有时候一个类可以使用复制构造函数但不需要赋值运算符。
例如:
我已经听过很多次,如果提供了复制构造函数,就必须提供赋值运算符。然而,有时候一个类可以使用复制构造函数但不需要赋值运算符。
例如:
class A {
public:
const int myVar;
A(const int var) : myVar(var) {};
A(const A& other) : myVar(other.myVar) {};
};
那么这样做是一个可怕的事情吗?赋值运算符需要被定义但是私有化吗?这样的类仍然可以进行复制构造吗?