Come mai il compilatore mi dà un errore se alla funzione visualizzare non gli passo nessun argomento?
La funzione amica deve sapere la classe in cui sta aggendo, quindi ti sei dato la risposta da solo. Anche nella funzione amica devi passare la classe x riferimento (la risposta la sai già) per evitare copie inutili dei oggetti.