/*----------------------------------------------------------------------------*\ || Es mejor declarar los operadores binarios como FUNCIONES y no como métodos || \*----------------------------------------------------------------------------*/ ========================= || || \/ \/ cout << A << B; op<<( op<<(cout,A) , B ); ========= /\ /\ ============ || || ============== class letrota { // ... friend stream& operator << ( stream & , letrota & ); // función // ... }; cout << A << B; ( cout.op<<(A) ).op<<( B ); ========= ============ class letrota { // ... stream& operator << ( letrota & ); // método en lugar de 'friend' // ... }; { racional r, q; r = 2 + q; // op+(rac& rac&) ==> r = op+ ( rac(2) , q ); r = 2 + q; // rac op+(rac) ==> r = 2. op+ (...) ERROR :: Es mejor poner los operadores binarios como FUNCIONES y no como métodos } cout << (const char*) (*p).first; ==> operator << (cout , (const char*) (*p).first ); ==> operator << (cout , ( (*p).first ). operator const char* );