Sembra essere risolto, il problema era che alcuni costruttori non avevano niente dentro e mancavo la chiamata al costruttore della superclasse(o non so il termine tecnico in C++).

Ho diviso in due file per gestire meglio il tuo codice che era al quanto disortinato:

Classi.h
codice:
#include <iostream.h>
#include <string.h>

// classe club (base) 
class club {
protected:
 char squadra[80]; 
 char serie[2]; 
public: 
 club(char *sq, char *se);
 club( club &l);
};
//FINE dichiarazioni


club::club(char *sq, char *se)  {
	strcpy(squadra, sq); 
	strcpy(serie,se); 

}

club::club( club &l) {
strcpy(squadra, l.squadra); 
}
//FINE club




//classe engage
class engage { 
protected:
 int anno_inizio; 
 int anno_fine; 
 double inga; 
public: 
 engage(int ai, int af, double ing);
 engage(const engage &o);
 double getengage();
}; 
//FINE dichiarazioni


engage::engage(int ai, int af, double ing) {
anno_inizio = ai; 
anno_fine = af; 
inga = ing; 
}

engage::engage(const engage &o) {
anno_inizio = o.anno_inizio; 
anno_fine = o.anno_fine;
inga = o.inga;
}

double engage::getengage() {
	return (inga / (anno_fine-anno_inizio)); 
}
//FINE engage





//classe giocatore
class giocatore : public club, public engage { 
protected:
 char nome[50]; 
 char cognome[50]; 
 char data_nascita[20]; 
 char luogo_nascita[50]; 

public: 
 friend void stampa_engage(giocatore obj); 
 giocatore(char *sq, char *se, int ai, int af, double ing,
 		  char *n, char *c,char *dn, char *ln);
 giocatore(giocatore &ogg);
 char *getname();
 char *getcogn();
};
//FINE dichiarazioni


giocatore::giocatore(char *sq, char *se, int ai, int af, double ing,
					 char *n, char *c,char *dn, 
char *ln) : club(sq, se),  engage(ai, af, ing) {

strcpy(nome,n); 
strcpy(cognome,c); 
strcpy(data_nascita,dn); 
strcpy(luogo_nascita,ln); 
}

giocatore::giocatore(giocatore &ogg) : club(ogg.squadra, ogg.serie),
                        engage(ogg.anno_inizio, ogg.anno_fine, 
ogg.inga) {
strcpy(nome,ogg.nome);
strcpy(cognome,ogg.cognome);
strcpy(data_nascita, ogg.data_nascita); 
strcpy(luogo_nascita, ogg.data_nascita);
}

char* giocatore::getname() {
	return nome;
}

char* giocatore::getcogn() {
	return cognome;
}

void stampa_engage(giocatore obj){ 
cout << "il suo ingo annuo è di: " << obj.getengage(); 
} 
//FINE giocatore
e naturalmente un file cpp che ho originalmente chiamato a.cpp

a.cpp
codice:
#include "Classi.h"


int main() {

giocatore maldini("Milan", "A", 2000, 2006, 
                  5000000, "Paolo", "Maldini",
                  "12 Aprile 1975", "Milano");
	
	cout << maldini.getcogn() << endl;
	cout << maldini.getengage() << endl;
	cout << maldini.getname() << endl;

	return 0;
}

Ho provato compila con 0 errori 0 warning e funziona quando lo provo.