elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Error con sobrecarga de Ostream en: 1 Abril 2011, 16:30 pm
Hola Gente! Pues, soy nuevo en el foro y estoy haciendo una carrera de programador en la que nos enseñan C++. Tenemos que crear una clase llamada "Fecha" que tiene los valores privados dia, mes, año. hay que sobrecargar el operador "<<" para que muestres correctamente la fecha, algo asi "dd/mm/aaaa". aqui esta el codigo

Código:
//Fecha.h

class Fecha
          {     
           private:
                   int dia;
                   int mes;
                   int año;
           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!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines