Sto creando un semplice progetto su visual studio e ho iniziato a implementare una classe separando interfaccia e implementazione e il codice principale in tre file. Il problema è che compilando visual studio mi dice che l'oggetto cout non è stato dichiarato. Non so perchè ma penso sia legato a qualche problema col namespace. Potreste aiutarmi per favore? Posto il codice qui sotto.
Interfaccia della classe:
#pragma once
#ifndef DATA_H_INCLUDED
#define DATA_H_INCLUDED
#include <string>
class Data
{
public:
Data(int gg, int mm, int aa);
std::string formato_breve();
int get_mese() { return mese; };
private:
int giorno = 1, mese = 1, anno = 1970;
};
#endif
Implementazione della classe:
#include "data.h"
Data::Data(int gg, int mm, int aa)
{
if (gg >= 1 && gg <= 31)
giorno = gg;
if (mm >= 1 && mm <= 31)
mese = mm;
if (anno >= 1970)
anno = aa;
}
std::string Data::formato_breve()
{
return std::to_string(giorno) + "/" + std::to_string(mese) + "/" + std::to_string(anno);
}
Codice principale:
#include <iostream>
#include "stdafx.h"
#include "data.h"
using namespace std;
int main()
{
Data d(16, 8, 2018);
cout << "Oggi e' il: " << d.formato_breve() << endl;
system("pause");
return 0;
}