LT<;6kQ)W*%*
z1l$Z0rqU?f`%Iqwk!-G#lm1h`?|7!^)C)y>U)%rY+OM8leePHB6Qo1!CL7YBLjF_}
zB~NwMG4t`T)aUa(9etx~-oes3shs1d8`vju;ENG77rrtNK9I-HhCFy(9zVa!qklXP
zzAFz-=kLYgEYtJE1)NiVGw@t_xHXS{Yaac12(Sn;XSobuj;IiUfGP1%L#XI_M^`eT
zr;Sj`&~>3Vv~1EN(Nwe}mNufPmQ8i>WFp!UYKuorS#HVQk$BUtE}`GOxj7k62P3j(
z)W(u&y)BfE)-)tyM!i3{3wR;~J-wr+NAHfN(#b?99y5CNT~!b@8}W2Qv*GuLJ3}em
zNQGiXx*;44ZUwd+eqv!gnKn|7I@5&{m6q)>YTF)SaZ`p>in>Cvgi;6@
z(ViHLNfO?vhdX!b?V(s)Ks#+j!b_IWZM%}#jxfxL^Ai^~@r`wL`f^{D*x1;xzD}?9
z)mXLVlhtb93Q^bEx^8`g?)NRXReiN~W|e8%+6s>~)U9re%0>7s#;866v;=qSOdM``
zki;x5@L^mFd>uF4+bkgW+JB7*u>_erzU<
z9tSP^X`)5RDB`c5-ie{BMEpQuJ!hUqycyzY#rI0SSo}=!#x38#Bf~9Dfv3XHGk%T)
z)J@Z*o>z=l(4dFX>cIIXD+x$3TB4}pPv2(pG{*7RM#zW_=iCu~)`qKB0D{G+4KJ05
z`E${R&$i(cHoVM+djcjyr;o&1h3{i}4yacqDLbJ2%mAlSCh;K~&d&-G9JJx|9N==u
zhRgRCC3wWAXH09v?eu@${e@AA82)=>a!B_PE8C+K_}IM`PYzddC%o{uZgf;&vjpT+#Y3YDeF_O*=YKq`6LLXRa7?;hc4$!
zgGisqEZL^@t$mR`JZSyrjZ$r3?VrGme(y>)I~qZga;~R+N#sL
zr)x*g7F{SF-G{)WRVnE)vef#U%7;!Jr>HU($06BxnMVc`L)(wb>ykA{xZSd8Mgwaj
z+Q77%D&?65NBzSvo#n=B4rnn^ZD3vzk-^~b%TN;SWtC@eoU|HVhPFy6UHa63K=M5ppbz=1_~J{WT23NLIw&MC}iNj$^iWnLB;;fT!_U135s$>=LTFA
zMQh>!F^drsf5~PKfgZe=&7K5(67(!+?R(km0nkO`*=#N53ttCq1w9Pf19}Yf2u-D=Qs;8fJ#2Ew&xt8n#rTot7=N`@dKoYn+T%$rHEeun&eU@@vR
zn`}~T6SF-VW|!YycJ=O(ed4zHt3SPb@gh2pR;IA=Ay4Ug;K~sAp?aB6f#iA
zKp_K#3=}d@$iV+)26+7wuXp10O?YLNh1OnCVV>4{*?C&qMWxgv)}kl;3nj~wG(ka;
z@7|!i{;EQvmb#d)cwTQs^9w38SE2I3m28seVYT>(U(ye#3a=#^QF5LazNy;BYlOiC4XiXX%XNyjszp_d*Qy3{yS*wtuf5{f%9UkjrQRHfG<+ip=!pM02eqW8RYNTgNR&nVY2^IQIHOD<)IPZ&Bf!_e!6Od}wxOz_d_lO!bz{zh#
zPGb8=ZsmU4#rd{VV{UOaC(x_lOZCWSudE?@;%J{8olI8}s-X
z$b%osgTF+$8&508xN{UZ<;~f@uM?hQ-TNPa)Ab+%wj`i>QQ{S%b=_3_1K@m)cFBzx
zM<{P?D*r(xtOAa^=tJ%KEbv@@cI3hL0r%Pis`{gO^q
z?@MCUd#Ej@8=(#XAZ=vY+kIg%xp6=@y7Vw@9Y{knlGHom$+l2jj~K~RS`TGi
z9giB(2v)%7)X=g1KBgA!M-xV>SG1=>T~R%f>FVl*iH*~tX-rW~cZRy7XP9>uWN)!rcH0q
zvBROJF4GpRs}4pYkvQ71Ve7h0K|Q#+o_0^@*gvBOH3e$*TZLZ#h0W_WHPl&-?%c4U
zIoP7NtXtn0gaz$~2*@n}YVkftsA-NGjkJ>@8VMO8D5}7I6}aI}>^q3W5_%>bh1QfU
z3#LQtDWL5GYR5t(ozy#VhS%z?
zQ~m0caC5r{vY+7O=HE$TZ$hnguCbmV<*qHAW?$GH^KfE)>=KeqL&zZ7|
zCBXYjoI8AYkIvM%wC^X+-kuM&ny!s0*20(W?J`1bphn81om`70u#c!)_!3DY>gz~k
zeBG%ecK#T>HmEHV!;ZIDL_yf?vXn*^sooh%cM4ymH-Qi)HBzQz7xoX~ww=Q0kfoyW
z5E-aicia#@+4nwFeH}@#R7pp}!iOz9VC7}*OC{x<=8JZ!!KE_-Z_FVKcJV}e!qIL6
z;~s5@l3vYm$MnH<1P^t^;NEnIOF;NA;B{df%Q2RJ9Ej#$c$DK^%`D{@uc3dy3_tH
zV1LD&iQCWfN~V>{p68X$_J<&+IVIbVsPkufn39V^ZKNvO^ZYLcj7->`=dnzA-U=02
zlsjg{y{OTgknMRM$dvQP?Poov_rsp%n9TD$lj&gd&GvK`Z(I_&vIu`Sg1Uu?J&IPE1+O1aM
zvtDgh%V00nnCDM;3SLhxN9XHm#+N`7uZ{`}=ns0Z5-mL>O}xeAFm(tbTJd=huZkRO
z2lWc>r)cq4+KUqz64##<-9Z5m(S9Cv!aM>G1kH(lX&Nucb<8oXSqGm
zl26JB9lJT7LEQ)+iRd72h$JggJQgVe2HK#D|N~F#jpkz`B)2_j-WgWARYu^Q#%XA9|s=C5tIo4@gN9$3yu#j
zfGf)?x_0U@D>d|(HDG750Fe3=p#|3(wlg^(sZrY+$mHy7=D4HCO&6k79q8(8Yqy$>
zW@A^S+)^p+Y*AKcZ?~0p3eI4r=sJbo?)Gdx=k(hBSqHTa4(D^+j^%|e7>Hg+k%uKX
zB9&(k**oEpaaP)xSwVLo-L8byW-_bj>UFaH!>>P!%N12Uuu0^3AopQnjfYS3{Vup-
zygK3e1sD7BUJs|SK-Ws-iVydXpBW!c<4t7NhwJAgJLY`2H{LwQMaGxIlrb-Lg*wbY
zn1L_@VFtnsgc%4k5N64yFC&t&h*MoBr52ap_TW;;MP#_p^t4
zlTFi27tB+8wqU+mUf+YzzYG{P^+8C_dZzEV>^PJw4x
zBfe9|?`k8p?Up$)Yrg)cz2@t4OU%eQ^U^K178O)+1=Zy%UO$CT{U6^$ZdKaeXP($|
z)j-jlxaO`jC-?jT#>@ts=u8?P=c;}SJMsv)mG+7M))R2*O!R?>Y{t!rFV5YpS(BW_
zNB0aq`mUIheY56da&Ew^$^F=z_}L82zNapnz0DI2Mcu54X|kGnLZ$vJI&}t-3N6p2&F!_C=T^-;e5+i(Kv$P4*4Msr
zwJAK5Fau!*!VH8N2s037Ak09RfiMGM2Eq)48Tfz9KxE#(i?xZ!rX>&JHD1yGIRYGB6IdBpbS&3@p>0921;-TdIJ8JI*bO<>4U&e79{(GU7_>bQ9zXAC3@PEqh
zk9K%*U`+LpZI^-$Ye*#9@ST9Zq-+!rvl&^p|R+Nfd)&z9>(tE?mHZYAT~^D6ZP6sVrc
zea4Qbb^Q9u`dx{C5ru{Nzu0+wU)NKs68B0CxAj8xOzZf2RPefA(6n_**3nBXztQn^
zmHS8Vn<%Wsd3~9m1JZmH30Y{JcRld9kbT
zaFcK`d^*MT1nVCG9{0sb@hRYIq8pTqW5G`nPAxErA5ZEz;4zGcx`ae}Is=^YbBxE8
z{*4N*7dSo^h<};mPjf!?Z$yZHmGOrdm+dpti{QTmPW=zo|0eJ_>I=#{!1WJe0Y?lE
z%C%8E{R8)f>PZ#cCL@n!?{Nlhjt5|9+FZfhaD3m%E;wi#~93&jFCcq
z#3{IAKB&Kx!48>BnxTDdoeeayboh{698yMlEQcmM?G`-G<4&QN$>-)77JLOKYZHM>
zBUx7&G(wbtqA{4~LeWVn!*xbs(ojQmUSA-?8REe;ltyi0d3AWB%wtFyP1(a4ROZof
z0hEE^J&aKsxU2qkljc*nMe!ZtNpPQ=%%|9`W2H>`BRFUdBmBkob5Sgb%v(H5sa6#H
z{NTPW`n}yR@>~>*zAycJ`Mwq%mq6A*{-=Te6>}izzswUwOZzfU4EEm!pXP|dmwBY<
zm$+T(Bjs86GM~!;qbY{)$GL-|Ps8UIs>3gzgF$mV;mf>EG*;bdk^W1Z=qKT&IiuJz
zZxo&I=sL{xhsjp+H?0zRY7qPjjHOA3XnWGQW-EWL_*<@G?q-Jjv^KfzkO3U*1E{?4W2Ys`XUmQ~08nf$Zn21cx?yTH28cgeUe&
zkO`CaWnLI#elVWe^2-`-pTjFI;cu@XUP1VNEn~+Yn&1jw;*Na?PRy<=`IG0$3SiQA
gKYxZ^&>(jQDwlRWulM@45dYRLFJfbW5HQt00R_rKkpKVy
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;
}