Con la creazione di un amico operatore di output, come nell'esempio seguente.
#include <iostream>
class MyClass {
friend std::ostream & operator<<(std::ostream &out, const MyClass &inst);
public:
// ... public interface ...
private:
char array[SOME_FIXED_SIZE];
};
std::ostream & operator<<(std::ostream &out, const MyClass &inst)
{
out.write(inst.array, SOME_FIXED_SIZE);
return out;
}
Si prega di non questo rende alcune ipotesi su ciò che si intende per "char", si è notevolmente semplificata se la matrice char è in realtà nul (0 carattere) terminato.
Aggiornamento: Dirò che questo non è strettamente un valore di ritorno per la classe, ma piuttosto una rappresentazione testuale della classe, che sei libero di definire.
fonte
2010-10-27 18:31:53
L'operatore < – Shog9
Ingannevole: D. Mi hai portato lì MrGreen. Haha. Grazie. Quindi la mia domanda iniziale è stupida come sempre, dato che non è necessario avere un "valore di ritorno" universale, è possibile definirlo con ogni operatore incluso l'operatore di shift binario, ecc ... Ho capito bene? –
Uomo perfetto, grazie. –