Работает ли оператор перегрузки << внутри класса?

Я имею в виду, я пытался перегрузить оператор << внутри класса

как 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;
          }

почему я не могу перегрузить оператор внутри класса, специфичного для этого класса? или я что-то упускаю? или я глуп, чтобы так думать? Пожалуйста, порекомендуйте.

8
задан howtechstuffworks 19 February 2012 в 17:17
поделиться