constructores generados por el compilador [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Condiciones para la generación automática del operador de asignación predeterminado / copiar / mover y copiar / mover asignación? 3 respuestasEsta es solo una pregunta rápida para comprender correctamente qué sucede cuando crea una clase con un constructor como este:
class A
{
public:
A() {}
};
Sé que no se genera un constructor predeterminado ya que ya está definido, pero ¿son los constructores de copia y asignación generados por el compilador o, en otras palabras, necesito declarar un constructor de copia privada y un operador de asignación privado para evitar que esto suceda?
class A
{
private:
// needed to prevent automatic generation?
A( const A& );
A& operator=( const A& );
public:
A() {}
};