Grazie della risposta!!!posto il codice della classe Amministratore e della classe Iscritto è un pò lunghetto spero che non ci siano problemi per questo!

codice:
#ifndef AMMINISTRATORE_H
#define AMMINISTRATORE_H

#include <string>
using std::string;

#include "persona.h"

class Amministratore : public Persona
{
	public: //nome, cognome, età, ID, username, password
		Amministratore(string = "", string = "", int = 18, int = 0, string = "", string = "");

		void setUser(string);
		void setPass(string);
		string getUser();
		string getPass();
		int getID();

		virtual void stampa();
		//funzione virtuale pura ridefinita per rendere la classe concreta
		//in questo caso l'amministratore non ha mensile da pagare quindi viene semplicemente visualizzato un messaggio!
		virtual void setPagamentoMensile(int);

	private:
		//dati membro ereditati
		//char nome[21];
		//char cognome[31];
		//int età;

		//dati membro specifici della classe
		int ID; //(per l'amministratore e' sempre 0)
		char user[21];
		char pass[11];
};
#endif

CLASSE ISCRITTO

#ifndef ISCRITTO_H
#define ISCRITTO_H

#include <iostream>
#include <string>
#include "data.h"
#include "persona.h"

class Iscritto : public Persona
{              
    public: //nome, cognome, età, ID, giorno,mese,anno, corso, pagamento mensile, username, password
		Iscritto(string = "", string = "", int = 18, int = 1, int = 0, int = 0, int = 0, int = 1, float = 0, string = "", string = "");
		//viene impostato tutto a zero per default

		//le funzioni set e get per impostare e restituire i dati membro ereditati, sono state ereditate
        Data getDataIscrizione();
        int getCorso();
        float getPagamentoMensile();
		int getID();
		string getUser();
		string getPass();
		void setDataIscrizione(int, int, int);
		void setCorso(int);
		void setUser(string);
		void setPass(string);
		void setID(int);
		//funzione virtuale non pura che verrà riscritta
		virtual void stampa();
		//funzione virtuale pura che DEVE essere ridefinita per rendere la classe concreta
		virtual void setPagamentoMensile(int);

	private:
		//dati membro ereditati
		//char nome[21];
		//char cognome[31];
		//int età;

		//dati membro specifici della classe
        Data dataIscrizione;
        int corso;
		int ID;
        float pagamentoMensile;
		char user[21];
		char pass[11];
};
#endif

//funzione virtuale stampa riscritta di Amministratore
void Amministratore::stampa()
{
	cout << "\n";
	cout << "** riepilogo dati dell'amministratore: \n";
	Persona::stampa(); //riutilizzo della funzione stampa della classe base
	cout << "\n** la tua username e': " << getUser();
	cout << "\n** la tua password e': " << getPass();
	cout << "\n";
}

//funzione virtuale stampa riscritta di Iscritto
void Iscritto::stampa()
{
	cout << "\n";
	cout << "** riepilogo dati iscritto numero: " << getID();
	Persona::stampa(); //riutilizzo della funzione stampa della classe base
	cout << "\n** data iscrizione: " << getDataIscrizione();
	cout << "\n** sei iscritto al corso con ID: " << getCorso();
	cout << "\n** pagamento mensile: " << getPagamentoMensile();
	cout << "\n** username: " << getUser();
	cout << "\n** password: " << getPass();
	cout << "\n";
}

//funzione virtuale non pura nella classe base
void Persona::stampa()
{
	cout << "\n** nome e cognome: " << getNome() << ' ' << getCognome()
		<< "\n** eta': " << getEtà();
}