// implementazione della classe Sfera #include using std::cout; #include "Punto.h" #include "SferaPunto.h" Sfera::Sfera(Punto& c, double r) { centro = c; raggio = r; } void Sfera::setCentro(Punto& c) { centro = c; } Punto Sfera::getCentro() const { return centro; } void Sfera::setRaggio(double r) { raggio = r; } double Sfera::getRaggio() const { return raggio; } double Sfera::getArea() const { return 4. * 3.141 * raggio * raggio; } double Sfera::getVolume() const { return 4./3. * 3.141 * raggio * raggio * raggio; } string Sfera::getName() const { return "Sfera"; } void Sfera::print() const { centro.print(); cout << " raggio: " << raggio; } bool Sfera::sovrapposizione(Sfera& s2) const { Punto c2 = s2.getCentro(); double distanzaCentri = getCentro().distanza(c2); double sommaRaggi = raggio + s2.getRaggio(); return distanzaCentri < sommaRaggi; }