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(const club &l);
};
//FINE dichiarazioni
club::club(char *sq, char *se) {
strcpy(squadra, sq);
strcpy(serie,se);
}
club::club(const club &l) {
strcpy(squadra, l.squadra);
cout << "costruttore di copia club";
}
//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;
cout << "costruttore di copia engage";
}
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();
friend void funzione(giocatore obj);
};
//FINE dichiarazioni
void funzione(giocatore obj){
cout << obj.anno_fine;
}
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
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;
funzione(maldini);
return 0;
}