el & significa paso por referencia si.
O sea, tienes:
void foo(int& c)
y lo puedes llamar tal que así:
int a = 10;
foo(10);
Lo que hagas en "foo" modificará el "a".
Con "const" lo que haces es decir: Oye, que no voy a modificar (en este caso n).
O sea,
Numero(const Numero& n)
y
Numero(Numero& n)
Es lo mismo (siempre que el contenido sea igual claro), pero si no vas a modificar el parámetro, es bueno colocar el "const" como documentación, para que el que lea el método sepa que no lo vas a modificar. Aparte te aseguras de que realmente no puedes hacerlo.