Mi succede nel main quando vado ad instanziare l'oggetto p di classe persona.
Se servono anche i .h ve li posto senza problemi; pensavo fossero superflui.
codice:
/*
* File: Data.h
* Author: Amministratore
*
* Created on 30 ottobre 2012, 21.51
*/
#ifndef DATA_H
#define DATA_H
const int GIORNO_MESE_MIN=1, MESE_MAX=12, GIORNO_MAX=31, ANNO_MIN=1900, ANNO_MAX=2030;
class Data {
public:
Data(int g, int m, int a);
Data();
virtual ~Data();
int getGiorno() const;
int getMese() const;
int getAnno() const;
void setGiorno(int ng);
void setMese(int nm);
void setAnno(int na);
private:
int giorno, mese, anno;
bool checkGiorno(int g) const;
bool checkMese(int m) const;
bool checkAnno(int a) const;
};
#endif /* DATA_H */
codice:
/*
* File: Persona.h
* Author: Amministratore
*
* Created on 30 ottobre 2012, 22.18
*/
#ifndef PERSONA_H
#define PERSONA_H
#include <string>
#include "Data.h"
using namespace std;
const int MAX_LENGTH=25;
class Persona {
public:
Persona(string n, string c, Data dn);
virtual ~Persona();
string getNome() const;
string getCognome() const;
Data getDataNascita() const;
void setNome(string nn);
void setCognome(string nc);
void setDataNascita(Data ndn);
int calcolaEta() const;
private:
void ridimensionaStringa(string& var, string ass);
string nome, cognome;
Data dataNascita;
};
#endif /* PERSONA_H */