Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream>
- #include <sstream>
- using namespace std;
- double get_PI();
- class Cerchio {
- private:
- double raggio;
- public:
- Cerchio(double r) :raggio(r) {}
- void setRaggio(double r) { raggio = r; };
- double getAreaCerchio() { return get_PI()*raggio*raggio; };
- double getPerimetroCerchio() { return 2*get_PI()*raggio; };
- double getRaggio() { return raggio; };
- string toString();
- };
- string Cerchio::toString() {
- stringstream s;
- s << "Il cerchio ha raggio = " << raggio << ", area = " << getAreaCerchio()
- << ", circonferenza = " << getPerimetroCerchio() << endl;
- return s.str();
- }
- class Cilindro {
- private:
- Cerchio cerchio;
- double altezza;
- public:
- Cilindro(double r, double a) : cerchio(r), altezza(a) {};
- void setAltezza(double a) { altezza = a; };
- double getAltezza() { return altezza; };
- double getAreaCilindro() { return 2 * cerchio.getAreaCerchio() + altezza*cerchio.getPerimetroCerchio(); };
- double getVolumeCilindro() { return cerchio.getAreaCerchio()*altezza; };
- string toString();
- };
- string Cilindro::toString() {
- stringstream s;
- s << "Il cilindro ha raggio = " << cerchio.getRaggio() << ", altezza = " << altezza << ", area = " << getAreaCilindro()
- << ", volume = " << getVolumeCilindro() << endl;
- return s.str();
- }
- int main()
- {
- Cerchio a(10.5);
- Cilindro c(10.5, 13.2);
- cout << a.toString() << endl;
- cout << c.toString() << endl;
- return 0;
- }
- double get_PI()
- {
- double pi;
- __asm
- {
- fldpi
- fstp pi
- }
- return pi;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement