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 respuestas

Esta 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() {}
};

Respuestas a la pregunta(3)

Su respuesta a la pregunta