#include using namespace std; #include class Rettangolo { double x, y; double semiperimetro () {return (x+y);} public: Rettangolo (); //default constructor; serve soprattutto per inizializzare Rettangolo (double, double); //overloading del costruttore; serve soprattutto per inizializzare double area () {return (x*y);} // double perimetro() {return 2*(x+y);} double perimetrobis () { return ( 2*semiperimetro() ); } }; Rettangolo:: Rettangolo (double a, double b){ x=a; y=b; } Rettangolo:: Rettangolo (){ x=5; y=5; } int main () { Rettangolo ret1; // qui viene usato il costruttore di default Rettangolo ret2(8.0, 10.0); //qui viene usato il costruttore con due parametri cout << "area (costruttore di default) = " << ret1.area() << "; perimetro (costruttore di default) = " << ret1.perimetro() << endl; cout << "area (costruttore con due parametri) = " << ret2.area() << "; perimetro (costruttore con due parametri) = " << ret2.perimetro() << endl; return (0); }