Salve a tutti, da un po di giorni ho questo dubbio, nella funzione write() per scrivere un membro di un oggetto su file, perchè devo convertire in carattere l'indirizzo?
Semplice: perché lo richiede la funzione.
o se non si fa cosi come posso fare per salvare su file binario un oggetto di una classe?
Qui la cosa si fa complicata. In generale non è possibile salvare un oggetto (inteso come oggetto C++) in modo binario in un file come si farebbe con una struttura stile C. E anche li occorre sapere se tale struttura contiene puntatori.
Come linea guida puoi salvare in formato binario: char, int, float, double, strutture composte dai precedenti, ma non puntatori o strutture che ne contengano (inclusi oggetti C++) in quanto verrebbe salvato l'indirizzo del puntatore ma non quello a cui punta. Indirizzo che in in caso di rilettura da file sarebbe non valido.
Per scrivere oggetti C++ (o comunque contenenti puntatori) occorre un metodo un po' più sofisticato: la serializzazione.