У меня есть класс, который использует структуру, и я хочу перегрузить оператор ‹‹ для этой структуры, но только внутри класса:
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);
}
Я могу скомпилировать только тогда, когда объявляю перегрузку оператора с ключевым словом friend, но тогда оператор перегружается везде в моем коде, а не только в классе. Как перегрузить оператор ‹‹ для my_struct ТОЛЬКО внутри класса?
Изменить: я хочу использовать перегруженный оператор для печати my_struct, которая является членом My_Class.
operator<<
сmy_struct
, разве это не нормально? - person Dominic Rodger   schedule 29.07.2009