From c0f971c2ed7f190702061dff7dde004dbffacd40 Mon Sep 17 00:00:00 2001 From: davoudn Date: Tue, 28 May 2024 11:11:33 +0330 Subject: [PATCH] shapes --- .../examples/shapes/a.out | Bin 16088 -> 17152 bytes .../examples/shapes/shapes.cpp | 40 +++++++++++++++--- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/CPlusPlus20ForProgrammers-master/examples/shapes/a.out b/CPlusPlus20ForProgrammers-master/examples/shapes/a.out index 0d198906c051e458637b7097e6f314c84f7a617c..30deedda6246f664929cf0f1e81f1e9dc79512a8 100755 GIT binary patch literal 17152 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 diff --git a/CPlusPlus20ForProgrammers-master/examples/shapes/shapes.cpp b/CPlusPlus20ForProgrammers-master/examples/shapes/shapes.cpp index 36b8e4e..fd94c2a 100644 --- a/CPlusPlus20ForProgrammers-master/examples/shapes/shapes.cpp +++ b/CPlusPlus20ForProgrammers-master/examples/shapes/shapes.cpp @@ -1,4 +1,5 @@ - +#include +#include /*class GBaseShape { public: GBaseShape(); @@ -19,20 +20,38 @@ double GetVolume() const; class Cube { public: - explicit Cube(double _L = 0, double _W = 0, double _H = 0); + explicit Cube(double _L = 0, double _W = 0, double _H = 0, long int N = 0); + ~Cube(){ + // std::cout << "Destructor was run!\n"; + delete Data; + } // void SetAll(); void SetL(double _L); + // void SetB(double _B); // void SetC(double _C); - + const double& GetL(); + double& operator[] (int i){ + if(i==1) + return L; + if (i==2) + return W; + if (i==3) + return H; + return tmp; + } private: double L,W,H; + double* Data; + double tmp; }; -Cube::Cube(double _L , double _W , double _H ){ +Cube::Cube(double _L , double _W , double _H, long int N ){ SetL(_L); + Data = new double[N]; + //std::cout << "Constructor was run!\n"; } void Cube::SetL(double _L){ @@ -44,9 +63,18 @@ const double& Cube::GetL() { } int main(){ + + Cube cube(5,6,10); + + //cube.GetL()++; + // for (int i{0}; i<10000; i++) + // { + // auto c = Cube(0,0,0,1000000); + // } + //for (int i{0}; i<10000000000; i++) + // std::cout << "!!!\n"; - Cube cube(5); - cube.GetL()++; + std::cout << cube[1] << "\n"; return 0; }