Ho un oggetto contenente i risultati di un calcolo. Questo calcolo viene eseguito in una funzione che accetta un oggetto di input e restituisce l'oggetto risultato.
L'oggetto risultato ha un metodo di stampa. Questo metodo di stampa deve stampare i risultati, ma per eseguire questa operazione è necessario l'oggetto di input originale. Non riesco a passare l'oggetto di input alla stampa perché violerebbe la firma della funzione di stampa. Una soluzione che sto usando in questo momento è che l'oggetto risultato abbia un puntatore all'oggetto di input originale, ma non mi piace questa dipendenza tra i due, perché l'oggetto di input è mutabile.
Come progetteresti per un caso del genere?