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