Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Progettare ed implementare una classe che rappresenta il cerchio.
- Fornire le funzionalità di calcolo dell'area e del perimetro
- i metodi di accesso agli attributi.
- Successivamente, utilizzare la classe cerchio per definire un cilindro,
- fornendo la funzionalità di calcolo della superficie totale e del
- volume.
- */
- #include <iostream>
- #include <sstream>
- using namespace std;
- class Cerchio{
- private:
- float r;
- public:
- Cerchio(float _x) : r(_x) {}
- void setRaggio(float _r) { r = _r; }
- float getRaggio() { return r; }
- float circ(){ return 2 * r * 3.14; }
- float area(){ return r * r * 3.14; }
- string toString();
- };
- string Cerchio::toString(){
- stringstream s;
- s << "Il cerchio ha raggio = " << r << ", area = " << area()
- << ", circonferenza = " << circ() << endl;
- return s.str();
- }
- class Cilindro{
- private:
- Cerchio c;
- float y;
- public:
- Cilindro(float _x = 1, float _y = 1) : c(_x), y(_y) {}
- float volume(){ return c.area() * y; }
- float superficie(){ return 2*c.area() + c.circ()*y; }
- string toString();
- };
- string Cilindro::toString(){
- stringstream s;
- s << "Il cilindro ha raggio = " << c.getRaggio() << ", altezza = " << y
- << ", area = " << superficie() << ", volume = " << volume() << endl;
- return s.str();
- }
- int main()
- {
- Cerchio c1(10);
- Cilindro c2(10, 15);
- cout << c1.toString() << endl << c2.toString() << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement