Originariamente inviato da sccc
codice:
dipendente::dipendente(string nome, string cognome, int stipendio, int bonus)
{
    impiegato(nome,cognome,stipendio);
    bonus_ = bonus;
}
Non è così che si chiama il costruttore della classe base.

Il modo corretto è:
codice:
dipendente::dipendente(string nome, string cognome, int stipendio, int bonus)
    : impiegato(nome,cognome,stipendio)
{
    ......
}

P.S.: il valore statico

static int numero_ = 1000;

mettilo nel sorgente impiegato.cpp, non nel header!!