Я много раз его размалывал в голове, что если предоставляется конструктор-копия, также должен быть предоставлен оператор присваивания. Однако бывают случаи, когда класс может использовать экземпляр-конструктор, но не оператор присваивания.C++ copy-constructor и назначение
Например:
class A {
public:
const int myVar;
A(const int var) : myVar(var) {};
A(const A& other) : myVar(other.myVar) {};
};
Так это страшная вещь, чтобы сделать? Нужно ли определять оператор присваивания, но сделать его приватным? Является ли такой класс еще пригодным для копирования?
Этот класс даже не нуждается в явном конструкторе копирования, поскольку созданный компилятор делает именно то, что вы хотите. –
@ R.MartinhoFernandes: Я предполагаю, что это упрощенный пример кода, предоставленный для выражения проблемы. –