#include using namespace std; class punkt { double _x,_y,_z; public: punkt(): _x(0),_y(0),_z(0){} punkt(double x,double y,double z): _x(x),_y(y),_z(z){} const double& x()const{return _x;} double &x(){return _x;} const double& y()const{return _y;} double &y(){return _y;} const double& z()const{return _z;} double &z(){return _z;} }; class prostokat { double _a,_b; punkt _p; public: prostokat():_a(0),_b(0) {} prostokat(double x,double y,double z,double a,double b):_p(x,y,z),_a(a),_b(b){} prostokat(const punkt& p,double a,double b): _p(p),_a(a),_b(b){} const double& x()const{return _p.x();} double& x(){return _p.x();} const double& y()const{return _p.y();} double& y(){return _p.y();} const double& z()const{return _p.z();} double& z(){return _p.z();} const double& a()const{return _a;} double& a(){return _a;} const double& b()const{return _b;} double& b(){return _b;} double pole()const {return _a*_b;} }; class graniastoslup { prostokat _p; double _h; public: graniastoslup(): _h(0){} graniastoslup(double x,double y,double z,double a,double b,double h): _p(x,y,z,a,b),_h(h){} graniastoslup(const punkt& p,double a,double b,double h): _p(p,a,b),_h(h){} graniastoslup(const prostokat& p,double h): _p(p),_h(h){} const double& x()const{return _p.x();} double& x(){return _p.x();} const double& y()const{return _p.y();} double& y(){return _p.y();} const double& z()const{return _p.z();} double& z(){return _p.z();} const double& a()const{return _p.a();} double& a(){return _p.a();} const double& b()const{return _p.b();} double& b(){return _p.b();} const double& h()const{return _h;} double& h(){return _h;} double objetosc()const{return _p.pole()*_h;} }; int main() { punkt p1, p2(1,2,3); const punkt p3(1.1,2.2,3.3); // kod sprawdzajacy punkt cout << p3.x() << '\t' << p3.y() << '\t' << p3.z() << endl; p1.x()=1; p1.y()=10; p1.z()=100; cout << p1.x() << '\t' << p1.y() << '\t' << p1.z() << endl; //kod sprawdzajacy prostokat prostokat pr1, pr2(1,2,3,10.5, 20.5); const prostokat pr3(p2,5,5); cout << pr3.x() << '\t' << pr3.y() << '\t' << pr3.z() << '\n' << pr3.a() << '\t' << pr3.b()<< '\n' << pr3.pole() << endl; pr1.x()=2; pr1.y()=20; pr1.z()=200; pr1.a()= 10; pr1.b()=10; cout << pr1.x() << '\t' << pr1.y() << '\t' << pr1.z() << '\n' << pr1.a() << '\t' << pr1.b()<< '\n' << pr1.pole() << endl; //kod sprawdzajacy graniastoslup graniastoslup g1, g2(1,2,3,10.5,20.5,30.5), g3(p2,100,200,300); const graniastoslup g4(pr3,5); cout << g4.x() << '\t' << g4.y() << '\t' << g4.z() << '\n' << g4.a() << '\t' << g4.b() << '\t' << g4.h() << '\n' << g4.objetosc() << endl; g1.a()=10; g1.b()=10; g1.h()=10; cout << g1.x() << '\t' << g1.y() << '\t' << g1.z() << '\n' << g1.a() << '\t' << g1.b() << '\t' << g1.h() << '\n' << g1.objetosc() << endl; return 0; }