Я имею в виду, я пытался перегрузить оператор << внутри класса
как this
class A {
public:
ostream &operator<<(ostream &os);// which doesnt work
private:
friend ostream &operator<<(ostream &os, const A& a); //Works
int i;
};
Definition
ostream &operator<<(ostream &os, const A& a) {
os<<a.i;
return os;
}
почему я не могу перегрузить оператор внутри класса, специфичного для этого класса? или я что-то упускаю? или я глуп, чтобы так думать? Пожалуйста, порекомендуйте.