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 */