tengo una clase que utiliza una estructura, y quiero sobrecargar el operador < < para esa estructura, pero sólo dentro de la clase:operador de sobrecarga << dentro de una clase en C++
typedef struct my_struct_t {
int a;
char c;
} my_struct;
class My_Class
{
public:
My_Class();
friend ostream& operator<< (ostream& os, my_struct m);
}
sólo puedo compilar cuando declaro el operador < < sobrecarga w/la palabra clave friend, pero luego el operador está sobrecargado en todas partes en mi código, no solo en la clase. ¿Cómo sobrecargo el operador < < para my_struct SOLAMENTE dentro de la clase?
Edit: tendrá que usar el operador sobrecargado para imprimir un my_struct que es un miembro de My_Class
Pero solo está sobrecargado cuando llamas 'operator <<' con 'my_struct', ¿no es así? –
Tenga en cuenta que la expresión 'typedef struct' no es realmente necesaria en C++: http://stackoverflow.com/questions/612328/difference-between-struct-and-typedef-struct-in-c –