Sobrecarga operadores cin y cout Juan Berjillo Castellanos (2004-02-29)
Sobrecarga de los operadores cin y cout para una clase.
/* Juan Berjillos Castellanos Sobrecarga_operadores_>>_y_<<.cpp Fecha/Hora inicio: Descripción: Sobrecarga operadores >> y <<. */ #include <iostream> using namespace std; namespace constantes { static const char Mes[][11]={"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto", "Septiembre","Octubre","Noviembre","Diciembre"}; } class Fecha { private: int dia,mes,anno; public: // Fecha(int d,int m,int a) {dia=d;mes=m;anno=a;} void AsignarFecha(int d,int m,int a) {dia=d;mes=m;anno=a;} void ObtenerFecha(int &d,int &m,int &a) const {d=dia;m=mes;a=anno;} }; ostream& operator<<(ostream& os,const Fecha& fecha); istream& operator>>(istream& is,Fecha& fecha); int main() { Fecha fecha; cout << "Introduce fecha (dd/mm/aaaa): "; cin >> fecha; cout << endl << fecha; cin.get(); cin.get(); return 0; } ostream& operator<<(ostream& os,const Fecha& fecha) { int d,m,a; fecha.ObtenerFecha(d,m,a); os << d << " de " << constantes::Mes[m-1] << " de " << a; return os; } istream& operator>>(istream& is,Fecha& fecha) { int d,m,a; char Caracter; is >> d >> Caracter >> m >> Caracter >> a; fecha.AsignarFecha(d,m,a); return is; }