Sobrecarga de los operadores cin y cout
Dev - C++
Publicado el 18 de Noviembre del 2018 por Administrador (718 códigos)
5.019 visualizaciones desde el 18 de Noviembre del 2018
Sobrecarga de los operadores cin y cout (>> y <<) para una clase
#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;
}
};//fin clase Fecha
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(); //Limpia el buffer
cin.get(); //Espera a que pulses una tecla
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;
}
Comentarios sobre la versión: 20071126 (0)
No hay comentarios