Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class Motore
- {
- public:
- Motore(int nPistoniI,int cilindrataI)
- {
- nPistoni=nPistoniI;
- cilindrata=cilindrataI;
- }
- ~Motore(){}
- ///int start(){ return 1}
- private:
- int nPistoni;
- int cilindrata;
- };
- class Veicolo
- {
- public:
- Veicolo(string targaI,string nTelaioI,Motore *motoreI)///con l'aggregazione dobbiamo passare il puntatore della classe
- { ///aggregata all'interno del costruttore della classe che la aggrega
- targa=targaI;
- nTelaio=nTelaioI;
- motore=motoreI;
- }
- ~Veicolo()
- {
- delete motore;///dealloco il puntatore motore in questo distruttore
- }
- void Avvia ()
- {
- ///stato = motore->start();
- }
- private:
- string targa;
- string nTelaio;
- Motore *motore;/// <--- Aggregazione
- ///int stato;
- };
- class Passeggero
- {
- public:
- Passeggero(string nomeI,string cognomeI,Pullman *pullmanI)///Pullman *pullmanI è per l'associazione
- {
- nome=nomeI;
- cognome=cognomeI;
- pullman=pullmanI;
- }
- void collegaPullman(Pullman* pullman){...}///associazione
- private:
- string nome;
- string cognome;
- Pullman *pullman; ///associazione
- } ;
- class Pullman:public Veicolo///ereditarierà
- {
- public:
- ///costruttore di pullman con invocazione del costruttore della classe base (Passeggero *persI è per l'associazione)
- Pullman(string targaI,string nTelaioI,Motore *motoreI,int nPostiI,string societaI,Passeggero *persI) : Veicolo(targaI,nTelaioI,motoreI)
- {
- nPosti=nPostiI;
- societa=societaI;
- passeggero=persI;
- }
- ~Pullman(){}
- int postiLiberi()
- {
- return nPosti;
- }
- void prenota()
- {
- nPosti--;
- }
- void CollegaPasseggeroPosseduto(Passeggero* passeggero){...}///associazione
- private:
- int nPosti;
- string societa;
- Passeggero *passeggero;///associazione
- };
- int main()
- {
- Motore a(2,10); ///creiamo oggetto motore a
- Motore *ptr=&a; ///creiamo puntatore motore e passiamogli l'indirizzo di oggetto a
- Veicolo auto1("1234","boh",ptr); ///creiamo oggetto auto1 passiamogli il puntatore (AGGREGAZIONE)
- ///associazione
- Passeggero b;
- Passeggero *p=&b;
- Pullman("555","plastica",ptr,50,"BLP",p);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement