Bueno... te digo como lo resolví yo, por si te vale.
1-opcion(sencilla), no utilices un constructor sobrecargado para eso(así lo hice yo en el examen), utiliza un método del objeto que establezca todo el array al valor que le pongas. Este metodo puede llamarse por ejemplo: establece_valor(int num) y ya está. Aunque el problema pida un constructor sobrecargado no especifica que lo uses ahí.
Puedes añadirlo en el objeto, e instanciar otro objeto en el main con el constructor sobrecargado, sólo para demostrar que conoces su uso.
2.-Reservar objetos con memoria dinámica usando el NEW, tienes el constructor sobrecargado y si le pasas un valor entre parentesis al crearlo(recuerda hacerlo asignarlo a un puntero de tipo objeto *) pues utiliza un constructor u otro.
Esta opcion está fuera de lugar para lo que se pedía en el examen y lo complica gravemente, pues en todas las opciones deberías controlar que el array estuviera ya declarado, si lo esta no volver a crearlo, si no lo esta pedirlo al usario, etc etc.
Suerte Eduardo Sky Walker