ho una classe che utilizza una struttura, e voglio sovraccaricare l'operatore < < per questo struct, ma solo all'interno della classe:operatore di sovraccarica << all'interno di una classe in 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);
}
Posso solo compilare quando dichiaro l'overload dell'operatore < < w/la parola chiave friend, ma l'operatore è sovraccaricato ovunque nel mio codice, non solo nella classe. Come sovraccarico l'operatore < per my_struct SOLO all'interno della classe?
Edit: io voglio utilizzare l'operatore di overload per stampare un my_struct che è un membro del my_class
Ma è solo sovraccarico quando si chiama l'operatore << 'con un' my_struct', quindi non è così? –
Nota che l'idioma "typedef struct" non è realmente necessario in C++: http://stackoverflow.com/questions/612328/difference-between-struct-and-typedef-struct-in-c –