Ne Surcharge de l'Opérateur<< travaux à l'intérieur de la classe?

Je veux dire, j'ai essayé de la surcharge de l'opérateur<< à l'intérieur de la classe

comme ce

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

pourquoi ne puis-je pas la surcharge de l'opérateur à l'intérieur de la classe spécifique à la classe? ou ai-je raté quelque chose? ou Suis-je stupide de penser dans une telle façon? Veuillez informer.

double possible de la surcharge des opérateurs (voir en particulier cette réponse)

OriginalL'auteur howtechstuffworks | 2012-02-19