a) completare l implementazione dei metodi specificaticodice:class HomeCinema { private: list<Componente> componenti; public: HomeCinema(); // costruttore default HomeCinema(const HomeCinema & hc);// costruttore friend ostream& operator<<(const ostream& hc, const HomeCinema& a); //operatore << bool operator!=(const HomeCinema& a); // operator != double costo() { double sum=0; for(list<Componente>::iterator i= componente.begin(); i != componenti.end();i++) { sum+=(*i).costo(); } // chiusura for return sum; } // chiusura costo bool aggiungiComponente(Componente c) { for(list<Componente>::iterator i= componente.begin(); i != componenti.end();i++) { if(!(*i).compatibileCon(c)) { return false; } // chiusura if } // chiusura for componenti.push_back(c); return true; } // chiusura aggiungiComponenti }; // chiusura classe
b) progettare le/la classe componente in modo da consentire la configurazione di un impianto con i piu comuni componenti(TV, amplificatore,diffusori frontali,laterali subwoofer ecc.)