Código:
//Fecha.h
class Fecha
{
private:
int dia;
int mes;
int anio;
public:
Fecha(); //Constructor por defecto
Fecha(int d, int m, int a);
void setDia(int d);
void setMes(int m);
void setAnio(int a);
int getDia();
int getMes();
int getAnio();
ostream &operator << (ostream o, Fecha f);
};
ahora el .cpp
Código:
// main.cpp
#include "Fecha2.h"
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
ostream &operator << (ostream &o, Fecha &f)
{ int a, m, d;
a = f.getDia();
m = f.getMes();
d = f.getDia();
o << d << "." << m << "." << a;
return o;
}
int main()
{Fecha fecha1;
int a, m, d, o;
cout<<"Ingresar Fecha: ";
cin>>d;
cin>>m;
cin>>a;
fecha1.setDia(d);
fecha1.setMes(m);
fecha1.setAnio(a);
cout<<"1. Mostrar mediante funcion\n";
cout<<"2. Mostrar comun\n";
cin>>o;
if( o == 1)
{cout<<fecha1;}
if( o == 2)
{cout<<fecha1.getDia();
cout<<".";
cout<<fecha1.getMes();
cout<<".";
cout<<fecha1.getAnio();}
getch();
}
NOTA: El "mostrar comun" lo hice para comprobar que la fecha esté guardada correctamente como metodo seguro.
Estoy usando Dev C++ 4.9.9.2 con MinGW 3.4.2
errores que me da:
3 C:\Users\*usuario*\Desktop\Programación\lab2.cpp In file included from C:\Users\*usuario*\Desktop\Programación\lab2.cpp
18 C:\Users\*usuario*\Desktop\Programación\Fecha2.h ISO C++ forbids declaration of `ostream' with no type
18 C:\Users\*usuario*\Desktop\Programación\Fecha2.h expected `;' before '&' token
Espero me puedan dar una mano, soy un tanto nuevo en esto jeje. Gracias de antemano!