Zadanie 1 ( program )

Funkcja main() i wyniki jej wykonania (podane w komentarzu) opisują warunki wprowadzenia kulistej perły do wnętrza cylindrycznego pudełka. Przeprowadz analizę działanie programu

  1. wykonaj rysunek poglądowy z opisem parametrów dla klas istniejących obiektów 1

a następnie zdefiniuj:

a) klasy z prywatnymi polami składowymi i publicznymi konstruktorami 1

b) metodę MniejRozm 2

c) zaprzyjaźnioną metodę Pisz 2

d) przeciazony operator w klasie Perla > porównujacy wymiary dwoch pereł 2

e) globalny operator << opisujący wymiary pereł. 2

int main() { suma max 10 pkt

Cylinder Pudelko1(110,40), Pudelko2(10,20);

Perla PerlaD("meza ",53), PerlaM("syna ",10);

cout << " mniejszy rozmiar " <<

Pudelko1.MniejRozm( ) <<"\n"; // Mniejszy rozmiar 40

Pudelko1.Pisz( PerlaD ); // Od meza nie zmieści sie

Pudelko1.Pisz( PerlaM ); // Od syna zmiesci sie

cout << ( PerlaD > PerlaM ? " Tak " :" Nie ") ; // Tak

cout << PerlaD << PerlaM ; // r = 53 r = 10;

return 0;

}

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic
// Przykładowy fragment rozwiązania :

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
class Perla;

0x08 graphic
0x08 graphic
class Cylinder

0x08 graphic
{

double r, h;

public:

Cylinder( double _r = 0,double _h = 0);

0x08 graphic
double MniejRozm();

void Pisz(Perla & ps);

};

Cylinder::Cylinder( double _r,double _h):

r(_r),h(_h) {};

double Cylinder::MniejRozm() {

return r < h ? r : h ;

}; // ======================================================

class Perla

{

double r;

char nazwa[30];

public:

Perla(char *, double);

friend void Cylinder::Pisz(Perla &);

friend ostream & operator<<(ostream&, Perla & );

int operator >(Perla & p) {

return r > p.r ;

}

};

Perla:: Perla(char * _nazwa, double _r=0): r(_r){

strcpy(nazwa,_nazwa);

};

ostream & operator << ( ostream& s, Perla &p ) {

s << "r = " << p.r << ",\t";

return s ;

}

void Cylinder::Pisz(Perla & ps)

{

cout << "Od " << ps.nazwa;

if( ps.r > MniejRozm()) cout << " nie ";

cout << "zmieści się\n";

} // ======================================================

r

h

r

Cylinder Perla