Mediante la creación de un amigo operador de salida, como en el siguiente ejemplo.
#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;
}
Por favor, no esto hace algunas suposiciones acerca de lo que entendemos por "matriz de caracteres", que se simplifica en gran medida si su matriz de caracteres es de hecho nulo (0 caracteres) terminado.
Actualización: Diré que esto no es estrictamente un valor de retorno para la clase, sino más bien una representación textual de la clase, que usted es libre de definir.
El << operador? – Shog9
Tricky one: D. Me tienes allí :-D. Jaja. Gracias. Así que mi pregunta original es tonta como siempre, ya que no es necesario tener un "valor de retorno" universal, puede definirlo con cada operador, incluido el operador de desplazamiento binario, etc. ... ¿Lo tengo bien? –
Hombre perfecto, gracias. –