Provo ad essere più specifica, visto che nessuno si lancia!

Riguardo al primo dubbio:
se il costruttore fosse stato sempre ad un parametro, SENZA però argomento di default, quindi una cosa tipo C(int n) {x=n;}, l'istruzione nel main C x sarebbe stata illegale?
Se la risposta a questa domanda è si, allora ho risolto il problema.

Per il secondo dubbio:
credo di aver sbrogliato quali campi dati di quali oggetti vengono settati e come... e nella funzione F il campo dati x dell'oggetto r dovrebbe valere 1, se il mio ragionamento è corretto.
Mi chiedo però cosa dovrebbe ritornare esattamente il comando "return r", sempre nel corpo di F. Ritorna il campo dati x di r? Non credo proprio...


Grazie ancora