[C con Clase] Sobrecarga de operador <<

José enriquez.ja en hotmail.com
Lun Ene 28 08:19:18 CET 2013


Hola, es mi primera intervención, me ha ayudado mucho este curso, y sigo aprendiendo, y gracias por la ayuda, mi duda es:
Tengo un programa dividido en tres parte, un fichero que declara una clase, otro que define todas las funciones miembro y sobrecarga de operadores, y otro con el programa principal con la función main, lo que pasa es que tengo declarada la sobrecarga del operador de flujo de salida << de la siguiente manera:

friend ostream& operator<< (ostream& os, const claseA&);

Tambien tengo implementada la funcion de sobrecarga, pero al compilar me manda un error que dice ISO C++ prohibe la declaracion de ostream sin tipo, y tambien que no es ni funcion ni funcion miembro y que no puede ser declarada como friend.

Solucioné esto declarando el using namespace std; en el fichero que la declara la clase y funciona todo bien, mi duda es porque debo hacer esta declaración aun y cuando ya la tengo declarada en el fichero del programa principal? Y ¿existe otra manera de hacer la declaracion de sobrecarga sin declarar el namespace std? algo asi como se usa en std::cout. Solo quiero salir de la duda agradezco la ayuda que me puedan dar.


Más información sobre la lista de distribución Cconclase