From ab6732eded0a1883639bfc228a6b80a3669c46e7 Mon Sep 17 00:00:00 2001 From: nihonium Date: Wed, 14 Sep 2022 19:05:27 +0300 Subject: [PATCH] seminar2 --- .../classroom_tasks_encapsulation.pdf | Bin 0 -> 415103 bytes .../classroom_tasks_encapsulation.tex | 405 ++++++++++++++++++ .../classroom_tasks/code/0book/00oop.cpp | 34 ++ .../classroom_tasks/code/0book/01book.c | 54 +++ .../classroom_tasks/code/0book/02book.cpp | 44 ++ .../code/0book/03book_encapsulation.cpp | 91 ++++ .../code/0book/04problem_movie.cpp | 56 +++ .../code/0book/04problem_movie_solution.cpp | 49 +++ .../code/0book/05this_pointer.cpp | 53 +++ .../code/0book/06constructor.cpp | 86 ++++ .../code/0book/06constructor_solution.cpp | 69 +++ .../code/0book/07public_private.cpp | 65 +++ .../code/0book/08constructor_calls.cpp | 77 ++++ .../0book/08constructor_calls_solution.cpp | 62 +++ .../classroom_tasks/code/0book/09class.cpp | 53 +++ .../classroom_tasks/code/0book/10m.cpp | 56 +++ .../classroom_tasks/code/1point/00point.c | 56 +++ .../code/1point/00point_solution.c | 63 +++ .../classroom_tasks/code/1point/01point.cpp | 84 ++++ .../code/1point/01point_solution.cpp | 97 +++++ .../code/1point/02operator_order.cpp | 48 +++ .../code/1point/02operator_order_solution.cpp | 64 +++ .../code/1point/03setters_getters.cpp | 124 ++++++ .../classroom_tasks/code/2string/00string.cpp | 45 ++ .../code/2string/01constructor.cpp | 165 +++++++ .../code/2string/01constructor_solution.cpp | 104 +++++ .../code/2string/02delegated_constructor.cpp | 109 +++++ .../code/2string/03destructor.cpp | 113 +++++ .../code/2string/04operator_addition.cpp | 94 ++++ .../2string/04operator_addition_solution1.cpp | 86 ++++ .../2string/04operator_addition_solution2.cpp | 86 ++++ .../code/2string/05operator_assignment.cpp | 126 ++++++ .../05operator_assignment_solution.cpp | 92 ++++ .../06operator_addition_assignment.cpp | 132 ++++++ ...6operator_addition_assignment_solution.cpp | 110 +++++ .../code/2string/07operator_addition_alt.cpp | 122 ++++++ .../07operator_addition_alt_solution.cpp | 108 +++++ .../code/2string/08comparasion_operators.cpp | 120 ++++++ .../08comparasion_operators_solution.cpp | 140 ++++++ .../code/2string/09subscript_operator.cpp | 122 ++++++ .../2string/09subscript_operator_solution.cpp | 102 +++++ .../code/2string/10reserve_and_resize.cpp | 145 +++++++ .../2string/10reserve_and_resize_solution.cpp | 134 ++++++ .../code/2string/11cin_string_overload.cpp | 166 +++++++ .../11cin_string_overload_solution.cpp | 158 +++++++ .../code/2string/12full_string.cpp | 262 +++++++++++ .../code/2string/12full_string_solution.cpp | 233 ++++++++++ .../2string/13problem_init_vs_assignment.cpp | 142 ++++++ .../2string/14problem_init_vs_assignment.cpp | 121 ++++++ .../14problem_init_vs_assignment_solution.cpp | 36 ++ .../2string/15problem_pass_to_funciton.cpp | 135 ++++++ .../15problem_pass_to_funciton_solution.cpp | 64 +++ .../2string/16problem_pass_to_funciton.cpp | 131 ++++++ .../16problem_pass_to_funciton_solution.cpp | 136 ++++++ .../2string/17problem_constructor_calls.cpp | 149 +++++++ .../17problem_constructor_calls_solution1.cpp | 124 ++++++ .../17problem_constructor_calls_solution2.cpp | 116 +++++ .../3default_methods/00special_methods.cpp | 197 +++++++++ .../3default_methods/01special_methods.cpp | 191 +++++++++ .../02default_constructor_remark.cpp | 148 +++++++ .../3default_methods/03delete_keyword.cpp | 164 +++++++ .../04implicit_cast_constructor.cpp | 188 ++++++++ .../code/3default_methods/05explicit.cpp | 147 +++++++ .../4separate_compilation/00point/main.cpp | 62 +++ .../01point_separate_methods/main.cpp | 81 ++++ .../02point_headers/main.cpp | 61 +++ .../02point_headers/point.hpp | 39 ++ .../03point_headers/main.cpp | 17 + .../03point_headers/point.hpp | 45 ++ .../04point_separate_compilation/main.cpp | 40 ++ .../04point_separate_compilation/point.cpp | 35 ++ .../04point_separate_compilation/point.hpp | 15 + .../05point_namespace/main.cpp | 30 ++ .../05point_namespace/point.cpp | 40 ++ .../05point_namespace/point.hpp | 20 + .../06problem_string/main.cpp | 265 ++++++++++++ .../06problem_string_solution1/main.cpp | 37 ++ .../06problem_string_solution1/string.hpp | 214 +++++++++ .../06problem_string_solution2/main.cpp | 39 ++ .../06problem_string_solution2/string.cpp | 204 +++++++++ .../06problem_string_solution2/string.hpp | 51 +++ .../06problem_string_solution3/main.cpp | 32 ++ .../06problem_string_solution3/string.cpp | 207 +++++++++ .../06problem_string_solution3/string.hpp | 54 +++ .../homework/code/0circle/circle.cpp | 38 ++ .../homework/code/0circle/circle.h | 23 + .../homework/code/0circle/main.cpp | 44 ++ .../homework/code/0circle/point.cpp | 82 ++++ .../homework/code/0circle/point.h | 37 ++ .../homework/code/1number/number.cpp | 307 +++++++++++++ .../homework/homework_encapsulation.pdf | Bin 0 -> 189682 bytes .../homework/homework_encapsulation.tex | 202 +++++++++ seminar02_encapsulation/images/number1.png | Bin 0 -> 25663 bytes seminar02_encapsulation/images/number1.svg | 263 ++++++++++++ .../images/sepcompilation.png | Bin 0 -> 311721 bytes .../images/sepcompilation.svg | 338 +++++++++++++++ .../images/string_base.png | Bin 0 -> 27628 bytes .../images/string_base.svg | 344 +++++++++++++++ 98 files changed, 10319 insertions(+) create mode 100644 seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.pdf create mode 100644 seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.tex create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/00oop.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/01book.c create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/02book.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/03book_encapsulation.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/05this_pointer.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/06constructor.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/06constructor_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/07public_private.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/09class.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/10m.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/00point.c create mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/00point_solution.c create mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/01point.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/01point_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/02operator_order.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/02operator_order_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/03setters_getters.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/00string.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/01constructor.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/01constructor_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/02delegated_constructor.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/03destructor.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution1.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution2.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/12full_string.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/12full_string_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/13problem_init_vs_assignment.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton_solution.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution1.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution2.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/00special_methods.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/01special_methods.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/02default_constructor_remark.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/03delete_keyword.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/04implicit_cast_constructor.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/05explicit.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/00point/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/01point_separate_methods/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/point.hpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/point.hpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.hpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.hpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/string.hpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.hpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/main.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.cpp create mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.hpp create mode 100644 seminar02_encapsulation/homework/code/0circle/circle.cpp create mode 100644 seminar02_encapsulation/homework/code/0circle/circle.h create mode 100644 seminar02_encapsulation/homework/code/0circle/main.cpp create mode 100644 seminar02_encapsulation/homework/code/0circle/point.cpp create mode 100644 seminar02_encapsulation/homework/code/0circle/point.h create mode 100644 seminar02_encapsulation/homework/code/1number/number.cpp create mode 100644 seminar02_encapsulation/homework/homework_encapsulation.pdf create mode 100644 seminar02_encapsulation/homework/homework_encapsulation.tex create mode 100644 seminar02_encapsulation/images/number1.png create mode 100644 seminar02_encapsulation/images/number1.svg create mode 100644 seminar02_encapsulation/images/sepcompilation.png create mode 100644 seminar02_encapsulation/images/sepcompilation.svg create mode 100644 seminar02_encapsulation/images/string_base.png create mode 100644 seminar02_encapsulation/images/string_base.svg diff --git a/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.pdf b/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cddf46a43a31e5d9170abfb70f5b1e7405809e97 GIT binary patch literal 415103 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

eV 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π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 z z-Qfw2*z|Avn*F7M=rV#nn|PhIWRmi(g7N@AJHr5LSi@70T%NM*3tO>%yY(KXiuIk} znGOe=pP{|sNMw01@<@8{W;eH>uTz;w-b0eJ4kIaiU=5xILv6@1N%lryl$sf=FgI%M zGtDHKP{mtwEjeNxP(AH>_I6WZ6iViAUQ86Pw;V`TarMT!uog^13}#XWVPz&8lG(Q8 zrYfGIPW#)?2rHbg)8Z@}%L@qTpu)qFrzTluMn}v{3z*smPk2lOZMjm#d2oCwg8ezy2NO#^`Py?B><0 zO!6zV7FQ_qVp`HIWr+T5o^?FQu_1kx;J-F-oFQj#Yx4GJKfAGNKXGH*a?&4Pcx5}p zXM#*?T!qx6smG7c_w`yQ2?y2=F05AV7Y}RaMh|x_88KTfPC`4Et(Sb2MJ*)c7Pjq2 z-VWQ9bONmxC)b3&-zjGNzCZ6xuO72^aQq{@uaJHl%d;s1S9w?iJUn8kTV1D}MK~&s zG|YE2lx@=np$_nsAk}s?vK>d3z7Aai)?Y6}bh_~6kaFFe9#6@)@7Eo`tOinMP%75(Sv19UPuipNtXPHR=FQz{Jy1(Bu>TdeHhO4CzESLJVQZ*Q)3*VA(JMZ_o* zrc0IW6>VV+=e~Wa`LmjqhWFpc&23$LBOzvyCM%!wpIvWFZ&hz%4>7iF=$P>3X+Muc zdVa6>Ny5WhtWFi|aRw@=F7IlhU_*nHy=VTtVr-o802}78*q=;`zxvzb_d`!>``*4j zfSkwpe9pZA-4L&EBR!e$sBmX^!L(sX;lM9gxk?~SZu}uCJmyZ~7j4{1hK=i7EpZY#s=< z*G4FZsk)K?N9wn)zv(9{f0l|?KP2u-wE1faBJG z$n^yKvB!mP-i1*_ncnK8A1^{szdHAl&npX#XC9mm704<{F6P+hk61@zDA@QKI_nuSz1R)3OKKU=<4PejbjlV%rfxSDL1OHb&VvlHw&%`Ndl!hj zl!9P@QNWP-2T`V@{=ra72S6G|Cu1R0#tLmE!&x51k3q*>76*n_>K7D(Q%VF@UqwR0 z`Y)rdlkVTSjH4WWh)vrrMyhWhrEdN|%pVmU#U%h}Ek_$*2OFMB1r9uVuF5z-wC2CT z0shq#1hw|0Gz`^J2mazI1ow$V@aIDPS2diKa4@-2uK;*Df#9d7KwPv(G&&LOs*W+N zLzJ4N-wq|R9|(8lL6S}Jos!o}j_>o$l|X=sjz!5zsm*m9BDIM;`A5=)L*&lqd z9dZK0VyNt-VVQI?aVpYtREe{v{K1LE5X5T2$@fTK>~RC{LkIosUXKNXqCeIJjg)zZ z5floJ1%3vK=|qXzh@_H0k9M+>O2(!&aMa@U(JNae1mKE@q>5W8DkaKdKQ2WqA{1{# zl8Gp%{0)i4=JYo=bM(0A%UcEbq`dDZ^hGj|qtn#E`0%X=7X;z#2NZ%OAi}(2ODlEJLCZ03^|dgap`=`~v{4 z=4cgmz7e#J;l!gkF#d`BHQS%~zh;b>S=s(4?5lu_v$>rk1tq<*g|oHEZ>i*BXlY{P z{Obw*!eX6&+oTPYP1Fh8ES${=%zyJsj*cd#l=SkBcE&D7CXN*L#-_i`w2X8t40Mc~ zl=M<29&UDy#!eKJQ2%uV3p-okUob2Ig)kQr0}~SiCj$o~3o9cl2Q>pTIRgXvZ=8&s z@&7JF+0nq>-o*HqGHYP%WCBGmuPmZYC+cEtZD?R?`%9mtP&T)4BKZCO*Y(g4sG2xB z{hpeDnU0Z#k(HB)jg^*(j_to+=WqP)Z<4lfH6dVPVC0}zV`loTpd_%eH*hw0GBF@< z{cpRo(J|98Q2qzc_Pr4Ggx+^=BgX@7$ugIvs!gdf>4O~1?I)jOc9F=!o-B&n@oqT2+d{+kfSHl>@! zkiQ$>P6D?Z4c(6k%2S^z$jhvYk65tOh4~Bhw-sBuDRKK52t zB6UwJ5OM4lF$x5l0yBI%CDfV(HT$wE4#ty|+-|SL{bjlc){73l4CK*}2a-S!PjFLP z*R~nowdJAD+to z?4IziE|~BXLLrGcgu28cf_FnaSYt8`cLnpHeLRU3phIHk5<({F4GT!#<6Yd(D{QuPFx7=p=&{K&u%Oj2$9}?VEn*ArajYpiwmo6G+bett2(C zM=*v=r_rCpG76y);J*Er1-Bm-rEL3LGNrKQlHet#v+mr6?( zq9m&fLhL4YAmO5;0ApB6v44qk3@fq%LFUHK!S88Y?Dn> zu?xxquw*4=fwBU!Pa#<@4wKY!T}!Fx>oA-$XpNYT=``ld!s#>={lDfErSP9Yn=2F% z9ujeyX9Xjp_k_mpTDkvd|4&oe_n$$+mN=I*MT9liIQ5wYpeo`@pgJMy|IL`B{(7kN zRwF=H1SgEt{4SzKs^VLgWyDSuCeedc$sDo?Halkn*B{;r)yxxqp>G!sets_#j>H&D zy|-@no++O_7}vqBM|f_mx>ZXVzth#ahDB3YHP(S8A}*`T!;A%5$xU}AUAp-(`d6V6 zKRN2%%2&%hUW?7qvPJ6?sx3c*eZ_}$htSXU_r(Q&bO-*(3HShS#$0wjjiW=w$7VTC z%LQKx(WEU4e7mi+Bihb6mpXO-rX*d<1ba)wXw^4k)G%hNE-HoKr%SCWMq84Atw@;G z*q*9>>M;KV1AKM7T%P84m7;wG^kz9gi&5y#y6?3sdWZa`dSeAz%UbpZ!}>)d)#xHOS&}i0^U)5ND7OXBZJ@h!JN*iz6U`BY465+ia}5Ke8eA=u49+Rh+XBfE|g{OZhk+kL?^RljvnjYmPRCm;9? z8@m$tUG{gW)}W5oP?OCOV4gu@o?&F3A!eQt=*~gv&S7lyLnfjm2$G;v0T|3cxcs1h ziPsz9N&Uq?7Cps5tuC0fTZ3X(oEpMtaU#Zu|Nn}(w0Yj2)-RFgDeE)7k1}2qagcau zS7t|Lq$FX|wtY}&QK~q}W677VlPvW0(3N?gCo?bpIbjw=ne~rwvKGb|(AS!%KSZ&O zEp`%+BtYT6F2w&wF@~M8QQf8waD`pyL3t2%ibUaw`LY5v2bE$dja z=f{m(hyE)~Z@nz}+s?0P0hVSD?s^|D*#RH^79r*qL+%!3<`#$k7OCbIOSD=CQ*-lr zp}eT#|HtP-88iLI=twf9`}7<52q@Y9f9>l|&IXRo?!UK`P%Mlr4D4)Bq@*HpqEP=A DQrs2| literal 0 HcmV?d00001 diff --git a/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.tex b/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.tex new file mode 100644 index 0000000..3b85f65 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.tex @@ -0,0 +1,405 @@ +\documentclass{article} +\usepackage[utf8x]{inputenc} +\usepackage{ucs} +\usepackage{amsmath} +\usepackage{amsfonts} +\usepackage{marvosym} +\usepackage{wasysym} +\usepackage{upgreek} +\usepackage[english,russian]{babel} +\usepackage{graphicx} +\usepackage{float} +\usepackage{textcomp} +\usepackage{hyperref} +\usepackage{geometry} + \geometry{left=2cm} + \geometry{right=1.5cm} + \geometry{top=1cm} + \geometry{bottom=2cm} +\usepackage{tikz} +\usepackage{ccaption} +\usepackage{multicol} +\usepackage{fancyvrb} + +\usepackage{listings} +%\setlength{\columnsep}{1.5cm} +%\setlength{\columnseprule}{0.2pt} + +\usepackage{colortbl,graphicx,tikz} +\definecolor{X}{rgb}{.5,.5,.5} + +\title{ДЗ. Работа с изображениями в формате \texttt{.ppm}} +\date{} +\begin{document} +\pagenumbering{gobble} + +\lstset{ + language=C++, % choose the language of the code + basicstyle=\linespread{1.1}\ttfamily, + columns=fixed, + fontadjust=true, + basewidth=0.5em, + keywordstyle=\color{blue}\bfseries, + commentstyle=\color{gray}, + stringstyle=\ttfamily\color{orange!50!black}, + showstringspaces=false, + %numbers=false, % where to put the line-numbers + numbersep=5pt, + numberstyle=\tiny\color{black}, + numberfirstline=true, + stepnumber=1, % the step between two line-numbers. + numbersep=10pt, % how far the line-numbers are from the code + backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color} + showstringspaces=false, % underline spaces within strings + captionpos=b, % sets the caption-position to bottom + breaklines=true, % sets automatic line breaking + breakatwhitespace=true, % sets if automatic breaks should only happen at whitespace + xleftmargin=.2in, + extendedchars=\true, + keepspaces = true, +} +\lstset{literate=% + *{0}{{{\color{red!20!violet}0}}}1 + {1}{{{\color{red!20!violet}1}}}1 + {2}{{{\color{red!20!violet}2}}}1 + {3}{{{\color{red!20!violet}3}}}1 + {4}{{{\color{red!20!violet}4}}}1 + {5}{{{\color{red!20!violet}5}}}1 + {6}{{{\color{red!20!violet}6}}}1 + {7}{{{\color{red!20!violet}7}}}1 + {8}{{{\color{red!20!violet}8}}}1 + {9}{{{\color{red!20!violet}9}}}1 + {~} {$\sim$}{1} +} + + +\title{Семинар \#2: Инкапсуляция. Классные задачи.\vspace{-5ex}}\date{}\maketitle +\section*{Инкапсуляция} +Инкапсуляция -- это размещение в классе/структуре данных и функций, которые с ними работают. Структуру с методами можно называть классом. Переменные класса называются полями, а функции класса -- методами. +\begin{multicols}{2}\setlength{\columnseprule}{0.4pt} +\textbf{Без инкапсуляции:} +\begin{lstlisting} +#include +#include + +struct Point +{ + float x, y; +}; + +float norm(const Point& p) +{ + return std::sqrt(p.x*p.x + p.y*p.y); +} + +void normalize(Point& p) +{ + float pnorm = norm(p); + p.x /= pnorm; + p.y /= pnorm; +} + +Point operator+(const Point& l, + const Point& r) +{ + Point result = {l.x + r.x, l.y + r.y}; + return result; +} + +int main() +{ + Point p = {1, 2}; + normalize(p); + std::cout << p.x << " " + << p.y << std::endl; +} + +\end{lstlisting} + +\textbf{С инкапсуляцией:} +\begin{lstlisting} +#include +#include + +struct Point +{ + float x, y; + + float norm() const + { + return stdsqrt(x*x + y*y); + } + + void normalize() + { + float pnorm = norm(); + x /= pnorm; + y /= pnorm; + } + + Point operator+(const Point& r) const + { + Point result = {x + r.x, y + r.y}; + return result; + } +}; + +int main() +{ + Point p = {1, 2}; + p.normalize(); + std::cout << p.x << " " + << p.y << std::endl; +} +\end{lstlisting} +\end{multicols} +Обратите внимание на следующие моменты: +\begin{itemize} +\item[--] Методы имеют прямой доступ к полям \texttt{x} и \texttt{y}. Передавать саму структуру(или ссылку на неё) в методах не нужно. +\item[--] Вызов метода класса осуществляется с помощью оператора \texttt{.}(точка). +\item[--] Спецификатор \texttt{const} после объявления метода (например, \texttt{float norm() const}) означает, что этот метод не будет менять поля. +Желательно указывать этот спецификатор для всех методов, которые не изменяют объект. +\item[--] При перегрузке бинарных операций объектом является левый аргумент, а параметром функции -- правый. Т.е. \texttt{p + q} превратится в \texttt{p.operator+(q)}. +\end{itemize} + + +\subsection*{Модификаторы доступа \texttt{public} и \texttt{private}} +Модификаторы доступа служат для ограничения доступа к полям и методам класса. +\begin{itemize} +\item[--] \texttt{public} -- поля и методы могут использоваться где угодно +\item[--] \texttt{private} -- поля и методы могут использовать только методы этого класса и друзья (особые функции и классы, объявленные с использованием ключевого слова \texttt{friend}) +\end{itemize} + +\subsection*{Конструкторы} +Конструктор -- это специальный метод, который вызывается автоматически при создании экземпляра класса. +\begin{lstlisting} +struct Point { +private: + float x, y; +public: + // Конструктор: + Point(float ax, float ay) + { + x = ax; + y = ay; + } + // другие методы +}; + +int main() +{ + // Если несколько разных синтаксов создания экземпляра класса с вызовом конструктора: + Point a = Point(7, 3); + Point b(7, 3); + Point c = {7, 3}; + Point d {7, 3}; + // Все они делают одно и то же - создают переменную на стеке и вызывают конструктор + // В современном C++ предпочтительным является способ d +} +\end{lstlisting} +Особым видом конструктора является конструктор копирования: +\begin{lstlisting} +Point(const Point& p) +\end{lstlisting} +Он используется для создание нового экземпляра класса по уже имеющемуся экземпляру.\\ +\textbf{Задача 3:} Сделайте задание в файле \texttt{4point\_constructors.cpp} + +\subsection*{Ключевое слово \texttt{this} и оператор присваивания} +Ключевое слово \texttt{this} - это указатель на экземпляр класса, который можно использовать в методах этого класса.\\ +Оператор присваивания -- это просто перегруженный оператор \texttt{=}. Оператор присваивания должен вернуть ссылку на текущий объект, то есть \texttt{*this}.\\ + +Нужно различать оператор присваивания и вызов конструктора: +\begin{lstlisting} +Point a = Point(7, 3); // Конструктор ( оператор присваивания не вызывается ) +Point b = a; // Конструктор копирования ( оператор присваивания не вызывается ) +Point c; // Конструктор по умолчанию +c = a; // Оператор присваивания +\end{lstlisting} +Оператор присваивания должен возвращать ссылку на левый аргумент. + +\newpage +\section*{Создаём свой класс строки} +Строки в языке \texttt{C} представляют собой просто массивы с элементами типа \texttt{char}(однобайтовое число). Работать с такими строками не очень удобно. Нужно выделять и удалять необходимую память, следить за тем, чтобы строка помещалась в эту память на всём этапе выполнения программы, для работы со этими строками нужно использовать специальные функции из библиотеки \texttt{string.h}. Это всё может привести к ошибкам. В этом разделе мы создадим класс \texttt{String} -- класс строки, с которым удобнее и безопаснее работать, чем со строками в стиле \texttt{C}. Заготовка класса выглядит так (Это далеко не самая эффективная реализация строки, более правильная реализация создаётся в примерах кода): +\begin{lstlisting} +#include + +class String +{ +private: + + size_t size; + char* data; + +public: + + String(const char* str) + { + size = 0; + while (str[size]) + size++; + + data = (char*)malloc(sizeof(char) * (size + 1)); + + for (int i = 0; str[i]; i++) + data[i] = str[i]; + data[size] = '\0'; + } + + size_t getSize() const + { + return size; + } + + const char* cStr() const + { + return data; + } +}; + +int main() +{ + String a = "Elephant"; +} +\end{lstlisting} + +Схематично это можно представить следующим образом: +\begin{center} +\includegraphics[scale=0.86]{../images/string_base.png} +\end{center} + +\newpage +\subsection*{Деструктор} +В коде выше выделяется память для массива \texttt{data}. Эта память выделяется при вызове конструктора (то есть при создании объекта). Однако она нигде не освобождается. Освободить её вручную мы не можем, так как поле \texttt{data} является приватным и это бы противоречило принципу сокрытия данных. Эта память должна освобождаться автоматически при удалении объекта. +\begin{lstlisting} +~ String() +{ + free(data); +} +\end{lstlisting} + +\subsection*{Перегруженные операторы класса \texttt{String}} +\begin{itemize} +\item \textbf{Оператор сложения:} \texttt{String operator+(const String\& right) const} \\ +Этот оператор должен создавать новый экземпляр, задавать его поля (в частности придётся выделить память под строку-сумму) и возвращать этот экземпляр. + +\item \textbf{Оператор присваивания сложения:} \texttt{String\& operator+=(const String\& right)}\\ +Этот оператор не должен создавать новый экземпляр. Он должен изменять левый операнд (т. е. сам объект), и возвращать ссылку на этот объект (т. е. \texttt{*this}). + +\item \textbf{Оператор присваивания:} \texttt{String\& operator=(const String\& right)}\\ +Этот оператор не должен создавать новый экземпляр. Он должен изменять левый операнд (т. е. сам объект), так чтобы он стал идентичен правому. Если размеры строк не совпадают, то в данной реализации строки вам придётся удалить память левой строки и снова выделить память нужного размера. При этом нужно отдельно рассмотреть случай когда левый и правый операнд это один и тот же объект. +\begin{lstlisting} +String a {"Cat"}; +a = a; +\end{lstlisting} +Конечно, в этом случае ничего удалять не нужно. + +\item \textbf{Оператор сравнения:} \texttt{bool operator==(const String\& right) const}\\ +Этот оператор должен сравнивать строки (массивы \texttt{data}) и возвращать \texttt{true} или \texttt{false}. + +\item \textbf{Оператор индексации:} \texttt{char\& operator[](unsigned int i)}\\ +Этот оператор должен возвращать ссылку на \texttt{i}-ый символ строки. + +\item \textbf{Индексация с проверкой на выход за границы:} \texttt{char\& at(unsigned int i)}\\ +Этот метод должен проверять, что индекс \texttt{i} не выходит за границы диапазона и, если это так, возвращать ссылку на \texttt{i}-ый символ строки. Иначе, этот метод должен печатать сообщение об ошибке и завершать программу. +\end{itemize} + +\newpage +\section*{Раздельная компиляция класса} +Методы можно вынести из определения класса следующим образом: +\begin{multicols}{2}\setlength{\columnseprule}{0.4pt} +\textbf{Определение методов в теле класса:} +\begin{lstlisting} +#include +#include + + +struct Point +{ + float x, y; + + float norm() const + { + return std::sqrt(x *x + y * y); + } + + void normalize() + { + float pnorm = norm(); + x /= pnorm; + y /= pnorm; + } + + Point operator+(const Point& r) const + { + Point result = {x + r.x, y + r.y}; + return result; + } +}; + + + + + +int main() +{ + Point p = {1, 2}; + p.normalize(); + std::cout << p.x << " " + << p.y << std::endl; +} +\end{lstlisting} +\vfill\null +\columnbreak + +\textbf{Определение методов вне тела класса:} +\begin{lstlisting} +#include +#include + +struct Point +{ + float x, y; + + float norm() const; + void normalize(); + Point operator+(const Point& r) const; +}; + +float Point::norm() const +{ + return sqrt(x*x + y*y); +} + +void Point::normalize() +{ + float pnorm = norm(); + x /= pnorm; + y /= pnorm; +} + +Point Point::operator+(const Point& r) const +{ + Point result = {x + r.x, y + r.y}; + return result; +} + +int main() +{ + Point p = {1, 2}; + p.normalize(); + std::cout << p.x << " " + << p.y << std::endl; +} +\end{lstlisting} +\end{multicols} + +Теперь эти методы можно скомпилировать отдельно. Для этого их нужно вынести в отдельный компилируемый файл \texttt{point.cpp}, а определение класса в отдельный файл \texttt{point.h}. Так называемый заголовочный файл \texttt{point.h} нужен, так как определение класса нужно и файле \texttt{point.cpp} и в файле \texttt{main.cpp}. Для компиляции используем: +\begin{verbatim} +g++ main.cpp point.cpp +\end{verbatim} + +\begin{center} +\includegraphics[scale=0.65]{../images/sepcompilation.png} +\end{center} + +\end{document} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/00oop.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/00oop.cpp new file mode 100644 index 0000000..e980ef0 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/00oop.cpp @@ -0,0 +1,34 @@ +/* + Объектно-ориентированное программирование (ООП) основано на представлении программы в виде совокупности взаимодействующих объектов + + Основные принципы ООП: абстракция, инкапсуляция, наследование и полиморфизм + + + Абстракция: использование только тех характеристик объекта, которые с достаточной точностью представляют его в данной системе. + + В каком-то смысле обычные структуры из языка C являются примером абстракции + + struct book + { + char title[100]; + float price; + int pages; + }; + + Для описание книги в коде мы используем лишь некоторое её характеристики, достаточные для нашей задачи + + + + Инкапсуляция: связывание данных некоторого абстрактного объекта и функций для работы с ним + Тесно связано с инкапсуляцией такое понятие как сокрытие + + Сокрытие: разделение данных и функций абстрактного объекта на открытые (видимые извне) и скрытые (видимые только внутри самого объекта) + + + + Наследование и Полиморфизм будут пройдены позже в курсе +*/ + + + +int main(){} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/01book.c b/seminar02_encapsulation/classroom_tasks/code/0book/01book.c new file mode 100644 index 0000000..592e979 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/01book.c @@ -0,0 +1,54 @@ +/* + Хоть язык C и не является объектно-ориентированным, некоторые зачатки подходов ООП в нём тоже есть + Например, структуры языка C являются примером Абстракции + + Для работы со структурами мы обычно писали функции так, что каждая из этих функций принимает на вход первым аргументом указатель на наш объект. + Такой подход НЕ является примером Инкапсуляции, так как структура и функции для работы с ней являются независимыми друг от друга. + При желании или по ошибке можно первым аргументом в эти функции передать вообще объект другого типа. + + + + Эта программа написана на языке C, для компиляции используйте gcc: + gcc 00book.c + + Функции в этом примере делают следующее: + + make_discount сделать скидку на книгу, но цена на книгу не может упасть ниже 0. + print_book напечатать информацию о книге на экран +*/ + +#include + + +struct book +{ + char title[100]; + float price; + int pages; +}; +typedef struct book Book; + + +void make_discount(Book* pb, int discount) +{ + if (pb->price > discount) + pb->price -= discount; + else + pb->price = 0; +} + +void print_book(const Book* pb) +{ + printf("%s, price = %.2f, pages = %i\n", pb->title, pb->price, pb->pages); +} + + + +int main() +{ + Book b = {"War and Peace", 1700, 900}; + + print_book(&b); + make_discount(&b, 500); + print_book(&b); +} diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/02book.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/02book.cpp new file mode 100644 index 0000000..76c53c1 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/02book.cpp @@ -0,0 +1,44 @@ +/* + Эта программа написана на языке C++, для компиляции используйте g++: + g++ 01book.cpp + + В языке C++ появились ссылки, которые могут немного упростить код из предыдущего файла + + Тем не менее, структура Book и функции для работы с ней всё ещё являются независимыми друг от друга. + То есть тут тоже нет Инкапсуляции. +*/ + +#include + + +struct Book +{ + char title[100]; + float price; + int pages; +}; + + +void makeDiscount(Book& b, int discount) +{ + if (b.price > discount) + b.price -= discount; + else + b.price = 0; +} + +void printBook(const Book& b) +{ + std::cout << b.title << ", price = " << b.price << ", pages = " << b.pages << std::endl; +} + + + +int main() +{ + Book b = {"War and Peace", 1700, 900}; + + printBook(b); + makeDiscount(b, 500); + printBook(b); +} diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/03book_encapsulation.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/03book_encapsulation.cpp new file mode 100644 index 0000000..6b3cfce --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/03book_encapsulation.cpp @@ -0,0 +1,91 @@ +/* + Инкапсуляция - это объединение данных и функций для работы с ними + + Объекты-данные, составляющие наш объект, называются полями + Функции для работы с этими данными называются методами + То есть у структуры Book из этого примера есть 3 поля (title, price и pages) и 2 метода (makeDiscount и print) + + + Сравните код в этом файле с кодом из предыдущего файла и обратите внимание на следующие моменты: + + 1) Функции для работы со структурой сейчас объявляются внутри структуры. + Получается методы как-бы принадлежат самой структуре + Это делает невозможным использование этих функций (случайно или намерено) для работы с объектами других типов. + + 2) Вызов методов осуществляется с помощью точки, то есть такой вызов из прошлого файла: + makeDiscount(b, 500); + заменился на такой: + b.makeDiscount(500); + + То есть объект как бы сам вызывает функцию для работы со своими данными, а не передаётся первым аргументом в функцию. + + + 3) Методы "знают" о том объекте, который их вызвал + + Например, в методе makeDiscount используется поле price без указания объекта, которому принадлежит это поле + Но метод сам "знает" какой объект его вызвал, поэтому если его вызывает объект a вот так: + a.makeDiscount(500); + то в этом случае метод использует поле price объекта a + + + 4) Константный метод не меняет полей вызывающего объекта. + Чтобы указать, что метод является константным нужно написать const в конце объявления метода + + В предыдущем файле при передаче по константной ссылке передаваемый объект не мог измениться внутри функции + void printBook(const Book& b) -> printBook(b) не изменит b + + Аналог этого для константного метода: + void print() const -> b.print() не изменит b + Следовательно, внутри константного метода нельзя менять поля объекта + +*/ + +#include + +struct Book +{ + char title[100]; + float price; + int pages; + + void makeDiscount(int discount) + { + if (price > discount) + price -= discount; + else + price = 0; + } + + void print() const + { + std::cout << title << ", price = " << price << ", pages = " << pages << std::endl; + } +}; + + + +int main() +{ + Book a = {"War and Peace", 1700, 900}; + Book b = {"The Master and Margarita", 600, 400}; + + a.print(); + a.makeDiscount(500); + a.print(); +} + +/* + Задачи: + + 1) Напечатайте книгу b + + 2) Сделайте скидку для книги b в 1000 рублей и напечатайте её ещё раз + + 3) Напишите метод void setPrice(float newPrice) который будет задавать новую цену книги + Вызовите этот метод для книги b и установите её цену в 1000 рублей. Напечатайте книгу ещё раз. + + 4) Попробуйте изменить поле внутри константного метода print, к какой ошибке это приведёт? + + 5) Можно ли вызвать метод makeDiscount из константного метода? + +*/ diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie.cpp new file mode 100644 index 0000000..cf02e21 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie.cpp @@ -0,0 +1,56 @@ +/* + Задачи: Представлена структура Movie, описывающая фильм на Кинопоиске + title - название фильма + releaseYear - год выхода + numVotes - число оценок этого фильма на Кинопоиске + rating - рейтинт фильма на Кинопоиске + + + + 1) Напишите метод setReleaseYear, который будет принимать число и устанавливать новый год выхода фильма, + равный этому числу. Этот метод не должен ничего возвращать. + При этом, минимальный год выхода фильма должен быть 1900. При попытке установить меньший год выхода, метод + всё-равно должен устанавливать год, равный 1900. + + 2) Установите год выхода фильма a на 1998, используя метод setReleaseYear. Напечатайте фильм. + Попробуйте установить год выхода, равный 1600 Напечатайте фильм. + + + 3) Напишите метод void addVote(float x), который будет имитировать проставление оценки x фильму одним пользователем + numVotes должен увеличиться на 1 и rating должен тоже изменится по формуле + + новыйРейтинг = (старыйРейтиг * староеКоличествоГолосов + x) / (староеКоличествоГолосов + 1) + + 4) У данного фильма 4 голоса со средней оценкой 8.0. Добавьте ещё одну оценку, равную 10.0. + Напечатайте фильм, новый рейтинг фильма должен быть равен 8.4. + +*/ + +#include +using std::cout, std::endl; + + +struct Movie +{ + char title[100]; + int releaseYear; + int numVotes; + float rating; + + + void print() const + { + cout << title << ", releaseYear = " << releaseYear << ", rating = " << rating + << " (" << numVotes << " votes)" << endl; + } +}; + + + + +int main() +{ + Movie a = {"Dark City", 2000, 4, 8.0}; + a.print(); +} + diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie_solution.cpp new file mode 100644 index 0000000..975b00b --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie_solution.cpp @@ -0,0 +1,49 @@ +#include +using std::cout, std::endl; + + +struct Movie +{ + char title[100]; + int releaseYear; + int numVotes; + float rating; + + void setReleaseYear(int year) + { + releaseYear = year; + if (releaseYear < 1900) + releaseYear = 1900; + } + + void addVote(int x) + { + rating = (rating * numVotes + x) / (numVotes + 1); + numVotes += 1; + } + + void print() const + { + cout << title << ", releaseYear = " << releaseYear << ", rating = " << rating + << " (" << numVotes << " votes)" << endl; + } +}; + + + + +int main() +{ + Movie a = {"Dark City", 2000, 4, 8.0}; + a.print(); + + a.setReleaseYear(1998); + a.print(); + + a.setReleaseYear(1600); + a.print(); + + a.addVote(10.0); + a.print(); +} + diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/05this_pointer.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/05this_pointer.cpp new file mode 100644 index 0000000..c3f4bd7 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/05this_pointer.cpp @@ -0,0 +1,53 @@ +/* + Ключевое слово this + + Используя указатель this внутри структуры, можно узнать адрес объекта. + Например, если метод был вызван таким образом: + a.printThis(); + то внутри метода this будет означать адрес объекта a + + С помощью этого указателя можно доступаться до полей класса. + Например, title и this->title это одно и то же внутри методов структуры. + + this можно использовать, если имя аргумента метода совпадает с одним из полей, как, например, в методе setPrice + Внутри метода setPrice поле price перекрывается аргументом price. Но можно всё-равно доступиться до поля price, используя указатель this +*/ + +#include +using std::cout, std::endl; + + +struct Book +{ + char title[100]; + float price; + int pages; + + void printThis() const + { + cout << this << endl; + } + + void printTitle() const + { + cout << title << endl; + cout << this->title << endl; + } + + void setPrice(float price) + { + this->price = price; + } +}; + + +int main() +{ + Book a = {"War and Peace", 1700, 900}; + + cout << &a << endl; + a.printThis(); + + a.printTitle(); +} + diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/06constructor.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/06constructor.cpp new file mode 100644 index 0000000..073fd86 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/06constructor.cpp @@ -0,0 +1,86 @@ +/* + Конструктор + + Конструктор - это специальный метод, который вызывается при создании объекта + + Конструктор Book(const char aTitle[], float aPrice, int aPages) принимает три аргумента и задаёт + этими аргументами поля класса, а также печатает на экран слово Constructor. + + Конструктор вызывается в строке Book a = Book("War and Peace", 1700, 900). + В этом примере конструктор делает то же самое, что и обычная инициализация структуры: Book a = {"War and Peace", 1700, 900}; + Преимущество конструктора по сравнению с обычной инициализации структур состоит в том, что программист может сам задать то, + что будет происходить при создании объекта. + + + Напоминание: + Функция strcpy из библиотеки string.h языка C принимает на вход 2 строки и просто копирует + содержимое второй строки в первую строку. + +*/ + +#include +#include +#include +using std::cout, std::endl; + + +struct Book +{ + char title[100]; + float price; + int pages; + + Book(const char aTitle[], float aPrice, int aPages) + { + cout << "Constructor" << endl; + strcpy(title, aTitle); + price = aPrice; + pages = aPages; + } + + + void print() const + { + std::cout << title << ", price = " << price << ", pages = " << pages << std::endl; + } +}; + + + +int main() +{ + Book a = Book("War and Peace", 1700, 900); + a.print(); + + Book b = Book("The Great Gatsby", 800, -600); + b.print(); + +} + + +/* + Задачи: + + 1) Предположим, что программист, работая с наши классом Book, ошибся в конструкторе и установил у книги отрицательное количество страниц. + + Измените конструктор таким образом, чтобы программа не создавала объект с отрицательным числом страниц. + Вместо этого она должна писать сообщение об ошибке и выходить из программы. + Для выхода из программы можно использовать функцию std::exit(1) из библиотеки + + + 2) Конструкторы можно перегружать также, как и обычные функции и методы. + Добавьте новый конструктор, который не будет принимать никаких аргументов и будет создавать объект с полями равными + title: "Default" price: 0 pages: 0 + Вызовите этот конструктор из main + + Конструктор, который не принимает аргументов, называется конструктором по умолчанию. + + + + 3) Конструкторы можно перегружать также, как и обычные функции и методы. + Добавьте новый конструктор, который будет принимать объект типа Book (по константной ссылке) + и будет задавать поля текущего объекта, используя поля аргумента + Вызовите этот конструктор из main + + Конструктор, который создаёт объект, используя объект такого-же типа, называется конструктором копирования. +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/06constructor_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/06constructor_solution.cpp new file mode 100644 index 0000000..7d423e9 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/06constructor_solution.cpp @@ -0,0 +1,69 @@ +#include +#include +#include +#include +using std::cout, std::endl; + + +struct Book +{ + char title[100]; + float price; + int pages; + + Book(const char aTitle[], float aPrice, int aPages) + { + cout << "Constructor" << endl; + strcpy(title, aTitle); + price = aPrice; + pages = aPages; + + if (pages < 0) + { + cout << "Error! Number of pages can't be negative!" << endl; + std::exit(1); + } + } + + Book() + { + cout << "Default Construtor" << endl; + strcpy(title, "Default"); + price = 0; + pages = 0; + } + + + Book(const Book& b) + { + cout << "Copy Construtor" << endl; + strcpy(title, b.title); + price = b.price; + pages = b.pages; + } + + + + void print() const + { + cout << title << ", price = " << price << ", pages = " << pages << endl << endl; + } +}; + + + +int main() +{ + Book a = Book("War and Peace", 1700, 900); + a.print(); + + Book b = Book(); + b.print(); + + Book c = Book(a); + c.print(); + + Book d = Book("The Great Gatsby", 800, -600); + d.print(); + +} diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/07public_private.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/07public_private.cpp new file mode 100644 index 0000000..7c0209f --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/07public_private.cpp @@ -0,0 +1,65 @@ +/* + Сокрытие данных - это разделение данных и функций абстрактного объекта на открытые (видимые извне) и скрытые (видимые только внутри самого объекта) + В языке C++ это реализуется с помощью модификаторов доступа public и private + + Все поля и методы объявленные в секции public называются публичными и могут быть доступны извне структуры + Все поля и методы объявленные в секции private называются приватными и не могут быть доступны извне структуры + Приватные поля и методы могут быть доступны только в методах самого структуры (а также в друзьях, но об этом позже) + + + Назначение сокрытия данных заключается в том, чтобы объекты нельзя было 'поломать' извне + 'Поломать' тут означает задать поля объекта бессмысленным образом + + Например, в нашем примере мы бы могли поломать объект просто сделав поля price или pages отрицательными + a.pages = -100; + но благодаря тому, что поле pages является приватным, это сделать нельзя. + + + Учитывая проверку в конструкторе, получается, что поля pages и price в принципе никогда не смогут стать отрицательными. + Таким образом мы уберегли себя от возникновения ошибок при неправильном задании полей структуры. +*/ + +#include +#include +#include +#include +using std::cout, std::endl; + + +struct Book +{ +private: + char title[100]; + float price; + int pages; + +public: + Book(const char aTitle[], float aPrice, int aPages) + { + if (aPages < 0 || aPrice < 0 || strlen(aTitle) >= 100) + { + cout << "Error while creating Book!" << endl; + std::exit(1); + } + + strcpy(title, aTitle); + price = aPrice; + pages = aPages; + } + + + void print() const + { + cout << title << ", price = " << price << ", pages = " << pages << endl; + } +}; + + + +int main() +{ + Book a = Book("War and Peace", 1700, 900); + a.print(); + + a.pages = -100; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls.cpp new file mode 100644 index 0000000..edc10b4 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls.cpp @@ -0,0 +1,77 @@ +/* + Синтаксис инициализации с помощью коструктора + + Язык C++ имеет очень длинную историю и на её протяжении в язык добавлялись новые возможности + В итоге в языке часто можно сделать одно и то же разными методами. + + В частности, вызвать конструктор можно 5-ю разными способами. + В этой программе строки для создания книг a, b, c, d, e делают одно и то же, несмотря, что имеют разный синтаксис +*/ + +#include +#include +#include +#include +using std::cout, std::endl; + + +struct Book +{ +private: + char title[100]; + float price; + int pages; + +public: + Book(const char aTitle[], float aPrice, int aPages) + { + cout << "Constructor" << endl; + strcpy(title, aTitle); + price = aPrice; + pages = aPages; + } + + + void print() const + { + cout << title << ", price = " << price << ", pages = " << pages << endl; + } +}; + + + +int main() +{ + Book a = Book("War and Peace", 1000, 500); + + Book b("War and Peace", 1000, 500); + + Book c = {"War and Peace", 1000, 500}; + + Book d = Book{"War and Peace", 1000, 500}; + + Book e {"War and Peace", 1000, 500}; + + a.print(); + b.print(); + c.print(); + d.print(); + e.print(); +} + +/* + Задача: + + 1) Добавьте к классу конструктор по умолчанию: + + Book() + { + cout << "Default Constructor" << endl; + strcpy(title, "default"); + price = 0; + pages = 0; + } + + Создайте с помощью этого конструктора 5 книг, вызвав его 5-ю разными способами + +*/ diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls_solution.cpp new file mode 100644 index 0000000..8ce1003 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls_solution.cpp @@ -0,0 +1,62 @@ +#include +#include +#include +#include +using std::cout, std::endl; + + +struct Book +{ +private: + char title[100]; + float price; + int pages; + +public: + Book(const char aTitle[], float aPrice, int aPages) + { + cout << "Constructor" << endl; + strcpy(title, aTitle); + price = aPrice; + pages = aPages; + } + + Book() + { + cout << "Default Constructor" << endl; + strcpy(title, "default"); + price = 0; + pages = 0; + } + + + void print() const + { + cout << title << ", price = " << price << ", pages = " << pages << endl; + } +}; + + + +int main() +{ + Book a = Book(); + + // Book b(); // этот способ не работает, так как его невозможно отличить от объявления функции (зато добавился способ f) + + Book c = {}; + + Book d = Book{}; + + Book e {}; + + Book f; // в отличии от переменных базовых типов, тут произойдёт инициализация (конструктором по умолчанию) + + a.print(); + c.print(); + d.print(); + e.print(); + f.print(); +} + + diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/09class.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/09class.cpp new file mode 100644 index 0000000..d1b1701 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/09class.cpp @@ -0,0 +1,53 @@ +/* + Классы. Ключевое слово class. + + На самом деле классы мы уже прошли. Структуры с методоми из предыдущих файлов это и есть классы. + Для объявления класса может использоваться ключевое слово class. + + Разница между этими ключевым словами минимальна + - при использовании struct все поля и методы по умолчанию публичны + - при использовании class все поля и методы по умолчанию приватны + Но, так как мы указываем private и public для всех членов, то разницы нет вообще. +*/ + +#include +#include +#include +#include +using std::cout, std::endl; + +class Book +{ +private: + char title[100]; + float price; + int pages; + +public: + Book(const char aTitle[], float aPrice, int aPages) + { + if (aPages < 0 || aPrice < 0 || strlen(aTitle) >= 100) + { + cout << "Error while creating Book!" << endl; + std::exit(1); + } + + strcpy(title, aTitle); + price = aPrice; + pages = aPages; + } + + + void print() const + { + cout << title << ", price = " << price << ", pages = " << pages << endl; + } +}; + + + +int main() +{ + Book a = Book("War and Peace", 1700, 900); + a.print(); +} diff --git a/seminar02_encapsulation/classroom_tasks/code/0book/10m.cpp b/seminar02_encapsulation/classroom_tasks/code/0book/10m.cpp new file mode 100644 index 0000000..8966466 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/0book/10m.cpp @@ -0,0 +1,56 @@ +/* + Некоторые замечания по оформлению + + 1) Как правило в классе сначала описываются публичные методы, а потом приватные + Так делают потому что если другой программист захочет воспользоваться вашим классом, + то его будет в первую очередь будет интересовать что ваш класс может делать + и уже потом его будет интересовать строение класса. + + + 2) Приватные поля класса желательно называть так, чтобы их можно было отличить от обычных переменных + Это может сильно упростить понимание при написании/использовании больших програм и библиотек + В данном курсе мы будем называть приватные поля начиная с буквы m + Например, mTitle вместо title +*/ + +#include +#include +#include +#include +using std::cout, std::endl; + + +class Book +{ +public: + Book(const char title[], float price, int pages) + { + if (pages < 0 || price < 0 || strlen(title) >= 100) + { + cout << "Error while creating Book!" << endl; + std::exit(1); + } + + strcpy(mTitle, title); + mPrice = price; + mPages = pages; + } + + void print() const + { + cout << mTitle << ", price = " << mPrice << ", pages = " << mPages << endl; + } + +private: + char mTitle[100]; + float mPrice; + int mPages; +}; + + + +int main() +{ + Book a = Book("War and Peace", 1700, 900); + a.print(); +} diff --git a/seminar02_encapsulation/classroom_tasks/code/1point/00point.c b/seminar02_encapsulation/classroom_tasks/code/1point/00point.c new file mode 100644 index 0000000..9469d8f --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/1point/00point.c @@ -0,0 +1,56 @@ +/* + Это программа на языке C, для компиляции: + gcc 00point.c + ./a.out + + Опишем структуру точки в двумерном пространстве на языке C + + Точка задаётся двумя координатами x и y + Так как эта структура имеет очень маленький размер (всего 8 байт), то в функции + её можно передавать по значению, а не по константному указателю. +*/ + +#include +#include + +struct point +{ + float x, y; +}; +typedef struct point Point; + + +void point_print(Point a) +{ + printf("(%.2f, %.2f)\n", a.x, a.y); +} + + +int main() +{ + Point a = {7.2, 3.1}; + Point b = {-4.6, 2.4}; + + point_print(a); + point_print(b); +} + +/* + Задачи: + + 1) Напишите функцию point_add, + которая будет принимать две точки и возвращать их сумму + + 2) Напишите функцию point_norm, + которая будет принимать точку и возвращать расстояние до этой точки от начала координат + Будем называть расстояние от точки до начала координат нормой точки + Для вычисления корня числа можно использовать функцию sqrt из math.h + + 3) Напишите функцию point_mult, + которая будет принимать на вход точку и число k типа float и возвращать точку, координаты которой + равны координатам изначальной точки, умноженные на число k + + 4) Напишите функцию point_normalize, + которая будет принимать точку по указателю и делить координаты точки на норму точки + Эта функция не должна ничего возвращать +*/ diff --git a/seminar02_encapsulation/classroom_tasks/code/1point/00point_solution.c b/seminar02_encapsulation/classroom_tasks/code/1point/00point_solution.c new file mode 100644 index 0000000..6533acb --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/1point/00point_solution.c @@ -0,0 +1,63 @@ +/* + Это программа на языке C, для компиляции: + gcc 00point_solution.c + ./a.out +*/ + +#include +#include + + +struct point +{ + float x, y; +}; +typedef struct point Point; + + +void point_print(Point a) +{ + printf("(%.2f, %.2f)\n", a.x, a.y); +} + +Point point_add(Point a, Point b) +{ + Point result = {a.x + b.x, a.y + b.y}; + return result; +} + +float point_norm(Point a) +{ + return sqrtf(a.x * a.x + a.y * a.y); +} + +Point point_mult(Point a, float k) +{ + Point result = {k * a.x, k * a.y}; + return result; +} + +void point_normalize(Point* pa) +{ + float norm = point_norm(*pa); + pa->x /= norm; + pa->y /= norm; +} + + +int main() +{ + Point a = {7.2, 3.1}; + Point b = {-4.6, 2.4}; + + point_print(a); + point_print(b); + + Point c = point_add(a, b); + point_print(c); + + point_print(point_mult(c, 1.5f)); + + point_normalize(&c); + point_print(c); +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/1point/01point.cpp b/seminar02_encapsulation/classroom_tasks/code/1point/01point.cpp new file mode 100644 index 0000000..62d5ae0 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/1point/01point.cpp @@ -0,0 +1,84 @@ +/* + Это программа на языке C++, для компиляции: + g++ 01point.cpp + + Та же самая точка, но на языке C++ + + В этом файле была видоизменена программа из предыдущего файла. + Были использованы перегруженные операторы для более удобного сложения и умножения точек. + Также была использована ссылка вместо указателя в функции pointNormalize. +*/ + +#include +#include +#include +using std::cout, std::endl; + + +struct Point +{ + float x, y; +}; + +void pointPrint(Point a) +{ + cout << std::setprecision(2) << "(" << a.x << ", " << a.y << ")" << endl; +} + +Point operator+(Point a, Point b) +{ + Point result = {a.x + b.x, a.y + b.y}; + return result; +} + +float pointNorm(Point a) +{ + return std::sqrt(a.x * a.x + a.y * a.y); +} + +Point operator*(Point a, float k) +{ + Point result = {k * a.x, k * a.y}; + return result; +} + +void pointNormalize(Point& a) +{ + float norm = pointNorm(a); + a.x /= norm; + a.y /= norm; +} + + + + +int main() +{ + Point a = {7.2, 3.1}; + Point b = {-4.6, 2.4}; + + pointPrint(a); + pointPrint(b); + + Point c = a + b; + pointPrint(c); + + pointPrint(c * 1.5f); + + pointNormalize(c); + pointPrint(c); +} + + + + +/* + Задача: + + 1) Инкапсулируйте функции operator+, pointNorm, operator* и pointNormalize + Их нужно сделать методами, то есть положить внутрь структуры Point + Не забудьте сделать соответствующие методы константными + + 2) Можно сделать то же самое с функцией printPoint, а можно поступить по-другому + и перегрузить оператор << для типов std::ostream и Point +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/1point/01point_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/1point/01point_solution.cpp new file mode 100644 index 0000000..1cbfbbe --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/1point/01point_solution.cpp @@ -0,0 +1,97 @@ +/* + Обратите внимание на следующие моменты в этом решении: + + 1) При переносе функций внутрь класса у них стало на 1 аргумент меньше + Просто потому что все методы неявно принимают вызывающий их объект + + Например, если a это точка, то при вызове: + a.norm() + + метод norm 'знает', что его вызвала имено точка a и может доступаться до её полей x и y + + + 2) Перегруженные операторы тоже могут быть методами + При этом оператор преобразуется следующим образом: + + a @ b -> a.operator@(b) + где на месте @ может быть любой бинарный оператор + + Например, сложение преобразуется так: + a + b -> a.operator+(b) + + Обратите внимание, что перегруженный оператор может стать методом только первого аргумента + + + 3) Перегрузка оператора << для типов std::ostream и Point + Для более удобного вывода на экран можно перегрузить этот оператор + + Когда компилятор встретит выражение cout << a где cout имеет тип std::ostream, а имеет тип Point + то он вызовет эту функцию. + Эта функция должна вызывать ссылку на cout так как результатом cout << a тоже должен быть cout + чтобы мы могли выводить цепочкой, например так: cout << a << b << endl +*/ + +#include +#include +#include +using std::cout, std::endl; + + +struct Point +{ + float x, y; + + Point operator+(Point b) const + { + Point result = {x + b.x, y + b.y}; + return result; + } + + float norm() const + { + return std::sqrt(x * x + y * y); + } + + Point operator*(float k) const + { + Point result = {k * x, k * y}; + return result; + } + + void normalize() + { + float normv = norm(); + x /= normv; + y /= normv; + } +}; + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} + + + + +int main() +{ + Point a = {7.2, 3.1}; + Point b = {-4.6, 2.4}; + + cout << a << endl; + cout << b << endl; + + Point c = a + b; + cout << c << endl; + + cout << c * 1.5f << endl; + + c.normalize(); + cout << c << endl; +} + + + + diff --git a/seminar02_encapsulation/classroom_tasks/code/1point/02operator_order.cpp b/seminar02_encapsulation/classroom_tasks/code/1point/02operator_order.cpp new file mode 100644 index 0000000..5a5798f --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/1point/02operator_order.cpp @@ -0,0 +1,48 @@ +#include +#include +#include +using std::cout, std::endl; + + +struct Point +{ + float x, y; + + Point operator*(float k) const + { + Point result = {k * x, k * y}; + return result; + } + +}; + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} + + +int main() +{ + Point a = {2.1, 1.5}; + + cout << a * 2 << endl; + cout << 2 * a << endl; +} + + + +/* + Задачи: + + 1) В этой программе выражение a * 2 вычисляется правильно, но + выражение 2 * a даёт ошибку. + + Из-за чего это происходит? Исправьте ситуацию так, чтобы выражение 2 * a также вычислялось. + + + 2) Можно ли сделать перегруженный оператор << методом класса Point? +*/ + + diff --git a/seminar02_encapsulation/classroom_tasks/code/1point/02operator_order_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/1point/02operator_order_solution.cpp new file mode 100644 index 0000000..8675d08 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/1point/02operator_order_solution.cpp @@ -0,0 +1,64 @@ +/* + Решения: + + 1) Выражение a * 2 вычисляется так как есть перегруженный оператор a.operator*(2) + Выражение 2 * a даёт ошибку так как не было перегруженного оператора operator*(2, a) + + Но его можно просто написать, как это сделано ниже. + + Сделать этот оператор методом мы не можем, так как перегруженный оператор может быть методом + только первого аргумента, первый аргумент в данном случае это число целочисленного типа float. + Добавить метод в тип float мы не можем, так как float это вообще не класс. + + Замечание: Литерал 2 на самом деле имеет тип int, но int может конвертироваться во float если нужно + + + 2) Можно ли сделать перегруженный оператор << методом класса Point? + + Нет, нельзя. Перегруженный оператор может быть методом только первого аргумента. +*/ + +#include +#include +#include +using std::cout, std::endl; + + + +struct Point +{ + float x, y; + + Point operator*(float k) const + { + Point result = {k * x, k * y}; + return result; + } + +}; + +Point operator*(float k, Point a) +{ + return a * k; +} + + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} + + +int main() +{ + Point a = {2.1, 1.5}; + + cout << a * 2 << endl; + cout << 2 * a << endl; +} + + + + + diff --git a/seminar02_encapsulation/classroom_tasks/code/1point/03setters_getters.cpp b/seminar02_encapsulation/classroom_tasks/code/1point/03setters_getters.cpp new file mode 100644 index 0000000..d9269a0 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/1point/03setters_getters.cpp @@ -0,0 +1,124 @@ +/* + До этого момента поля x и y класса Point были публичными + + Обычно, мы не хотим делать поля публичными, так как мы не хотим, чтобы поля могли бы быть заданы некоректным значением извне класса. + Однако, в случае класса Point некорректных значений для x и y просто не существует - любое вещественное число будет + корректным для значения координаты точки. + Поэтому нет ничего плохого, чтобы сделать x и y публичными для класса Point + + + Но давайте сделаем класс с немного более сложным поведением. + Точка RestrictedPoint - это будет точка, которая может находится только в квадрате [0,1]x[0,1] + То есть поле x может принимать значения только от 0 до 1 и поле y может принимать значения только от 0 до 1. + + Сделаем поля x и y приватными (и назовём их mx и my) + Теперь до них можно будет доступиться только в методах класса RestrictedPoint и в друзьях. + + Чтобы можно было работать с этими полями вне класса напишем методы + getx, gety, setx, sety + Такие методы для получения полей и записи в поля класса называются геттерами и сеттерами + Функции getx и gety просто возвращают соответствующие координаты + Функции setx и sety меняют соответствующие координаты и следят, чтобы они находились в диапазоне от 0 до 1 + + + Нам понадобится стандартная функция std::clamp из , которая принимает на вход три числа и + если первое число находится в промежутке между вторым и третьим, то clamp возвращает первое число + если первое число меньше, чем второе, то clamp возвращает второе число + если первое число больше, чем третье, то clamp возвращает третье число + Грубо говоря clamp ограничивает число в заданых пределах +*/ + +#include +#include +#include +using std::cout, std::endl; + + + +class RestrictedPoint +{ +private: + float mx, my; + +public: + + RestrictedPoint(float x, float y) + { + mx = std::clamp(x, 0.0f, 1.0f); + my = std::clamp(y, 0.0f, 1.0f); + } + + RestrictedPoint() + { + mx = 0; + my = 0; + } + + float getx() const + { + return mx; + } + + float gety() const + { + return my; + } + + void setx(float x) + { + mx = std::clamp(x, 0.0f, 1.0f); + } + + void sety(float y) + { + my = std::clamp(y, 0.0f, 1.0f); + } + + float norm() const + { + return std::sqrt(mx*mx + my*my); + } + + RestrictedPoint operator+(const RestrictedPoint& right) const + { + RestrictedPoint result; + result.mx = std::clamp(mx + right.mx, 0.0f, 1.0f); + result.my = std::clamp(my + right.my, 0.0f, 1.0f); + return result; + } +}; + + +std::ostream& operator<<(std::ostream& out, const RestrictedPoint& a) +{ + out << "(" << a.getx() << ", " << a.gety() << ")"; + return out; +} + + +int main() +{ + RestrictedPoint a = RestrictedPoint(0.5, 1.2); + cout << a << endl; + + a.setx(2); + cout << a << endl; + + a.sety(-5); + cout << a << endl; + + + RestrictedPoint b = RestrictedPoint(0.4, 0.2); + RestrictedPoint c = RestrictedPoint(0.8, 0.4); + cout << c + b << endl; +} + + + + +/* + Задача: + + 1) Добавьте к классу RestrictedPoint оператор умножения на число типа float + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/00string.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/00string.cpp new file mode 100644 index 0000000..04955a2 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/00string.cpp @@ -0,0 +1,45 @@ +/* + Создадим свою строку + + Один из самых главных недостатков языка C это работа со строками. + Строки в языке C это просто массивы элементов типа char + char str[100]; или char* p = malloc(100); + + В языке C работать со строками очень неудобно по многим причинам: + - Нужно постоянно следить за тем, чтобы строка умещалась в памяти, которая под нею выделена. + - Строку можно выделить на Стеке, используя обычный массив, и тогда её вместимость нельзя будет увеличить, + а можно выделить в Куче, но тогда придётся самостоятельно выделять и освобождать память + и следить, чтобы не произошли утечки памяти. + - Строки нельзя просто копировать, сравнивать, складывать и т. д. Для этого нужно использовать + специальные функции типа strcpy и другие функции из библиотеки . + + + Создадим же удобный класс строки + Такой чтобы можно было удобно создавать строки, приравнивать, складывать и сравнивать. + Не заботясь о выделении/удалении памяти, и о том, что строка помещается в выделенную память. + + Чтобы можно было писать вот такой код: + + String a = "Cat"; + String b = "Dog"; + cout << a << " " << b << endl; + + String c = "Mouse"; + c = a + b; + c += "Bear"; + + if (c == "CatDogBear") + cout << "Yes" << endl; + + c = a; + cout << c << endl; + + + (String в переводе с английского это Строка) +*/ + + + + +int main() {} + diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/01constructor.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/01constructor.cpp new file mode 100644 index 0000000..11603f4 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/01constructor.cpp @@ -0,0 +1,165 @@ +/* + + Создадим строку, которая при создании (т.е в конструкторе) будет автоматически выделять необходимую память в Куче. + В чём-то реализация этой строки будет похожа на реализацию динамического массива из прошлого семестра. + + У класса строки 3 поля: + + mSize - размер - количество символов в строке (без учёта \0) + mCapacity - вместимость - количество выделенной памяти в Куче + mpData - указатель на выделенную память в Куче. В этой памяти строка будет иметь такой же вид, как и строка языка C. + В частности она будет иметь символ '\0' на конце. + Символ '\0' на конце оставим, чтобы было удобно конвертировать нашу строку в строку в стиле C. + + + Размер и вместимость это разные величины. + + Например, для хранения строки "Cat" может быть выделено памяти под 10 символов, хоть и под эту строку было бы достаточно всего 4. + Представьте, что у вас есть длинная строка и вы хотите удалить последний символ в ней. + Если бы мы не хранили вместимость, а всегда выделяли памяти в притык, то в этом простом случае нам бы пришлось + перевыделять память и копировать всю строку в новую память. + Если же мы храним вместимость, то достаточно всего лишь уменьшить размер на 1 и поставит \0 в новый конец строки. + + + + Теперь создадим конструктор, который будет выделять память и заполнять его нужным образом + + Конструктор String(const char* str) конструирует нашу строку из строки в стиле C. + Принимаем на вход именно константную строку, так как в этом случае в конструктор можно будет + передать как константные, так и неконстантые строки. + Если бы мы написали так String(char* str) , то в конструктор нельзя было бы передать константные строки. + + + В строках: + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + мы находим размер переданной строки (strlen не используем, чтобы не связываться со старой библиотекой) + Вместимость на 1 больше, так как нужно учесть память под символ /0 + + + В строке: + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + выделяем необходимую память + + + В строках: + + for (size_t i = 0; str[i] != '\0'; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + + копируем содержимое переданной строки в только что выделенную память. + + + Другие методы класса String: + + getSize - возвращает размер строки + getCapacity - возвращает вместимость строки + cStr - возвращает строку в стиле C, то есть указатель на массив из char-ов с конечным символом \0 +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i] != '\0'; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + + size_t getSize() const + { + return mSize; + } + + size_t getCapacity() const + { + return mCapacity; + } + + const char* cStr() const + { + return mpData; + } +}; + + +std::ostream& operator<<(std::ostream& out, const String& s) +{ + out << s.cStr(); + return out; +} + + +int main() +{ + String a = "Cat"; + String b = "Dog"; + String c = "Lion"; + + cout << a << endl << b << endl << c << endl; +} + + +/* + Задание: + + 1) Создайте конструктор String(), который будет создавать пустую строку + (mSize = 0, mCapacity = 1, строка mpData содержит в себе 1 символ ('\0')) + + Конструктор, который не принимает аргументов называется конструктором по умолчанию + + + 2) Создайте конструктор String(size_t n, char a), который будет создавать строку из n символов a + (mSize = n, mCapacity = n + 1, строка mpData содержит в себе n + 1 символ (n раз a и '\0')) + + + 2) Создайте конструктор String(const String& s), который будет создавать строку String из другой строки String + (mSize = s.mSize, mCapacity = s.mCapacity, строка mpData содержит в себе копию строки s.mpData) + + Конструктор, который создаёт объект по другому объекту такого же типа называется конструктором копирования. + + + Протестируйте эти конструкторы: + String a; + cout << a << endl; + + String b(10, 'q'); + cout << b << endl; + + String c("Cat"); + cout << c << endl; + + String d(c); + cout << d << endl; +*/ diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/01constructor_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/01constructor_solution.cpp new file mode 100644 index 0000000..e3e6699 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/01constructor_solution.cpp @@ -0,0 +1,104 @@ +#include +#include +using std::cout, std::endl, std::size_t; + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "Construtor from const char*" << endl; + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i] != '\0'; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "Default Construtor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + mpData[0] = '\0'; + } + + String(size_t n, char a) + { + cout << "Construtor n equal characters" << endl; + mSize = n; + mCapacity = n + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = a; + mpData[mSize] = '\0'; + } + + + String(const String& s) + { + cout << "Copy Constructor" << endl; + mSize = s.mSize; + mCapacity = s.mCapacity; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + size_t getSize() const + { + return mSize; + } + + size_t getCapacity() const + { + return mCapacity; + } + + const char* cStr() const + { + return mpData; + } +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a; + cout << a << endl << endl; + + String b(10, 'q'); + cout << b << endl << endl; + + + String c = "Cat"; + cout << c << endl << endl; + + + String d(c); + cout << c << endl << endl; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/02delegated_constructor.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/02delegated_constructor.cpp new file mode 100644 index 0000000..fbee670 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/02delegated_constructor.cpp @@ -0,0 +1,109 @@ +/* + Делегирующий конструктор + + В разных конструкторах может быть повторяющийся код. + Повторений кода иногда можно избежать если писать один конструктор на основе уже написанного. + + Это можно сделать с помощью синтаксиса так называемого делегирующего конструктора + После объявления конструктора, но перед его телом можно написать двоеточие и вызвать другой конструктор + + Например: + + String() : String("") + { + cout << "Default Constructor" << endl; + } + + Этот конструктор сначала вызовет конструктор String(const char* str) с аргументом "" (то есть пустой строкой) + а потом исполнит тело данного коструктора (в данном случае напечатает Default Constructor). +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "Constructor" << endl; + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i] != '\0'; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") + { + cout << "Default Constructor" << endl; + } + + + String(const String& s) : String(s.cStr()) + { + cout << "Copy Constructor" << endl; + } + + size_t getSize() const + { + return mSize; + } + + size_t getCapacity() const + { + return mCapacity; + } + + const char* cStr() const + { + return mpData; + } +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a; + cout << "a = " << a << endl << endl; + + + String b = "Cat"; + cout << "b = " << b << endl << endl; + + + String c(b); + cout << "c = " << c << endl << endl; +} + + + + + +/* + Задача: + + Попробуйте понять без запуска, что напечатает данная программа +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/03destructor.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/03destructor.cpp new file mode 100644 index 0000000..6557d30 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/03destructor.cpp @@ -0,0 +1,113 @@ +/* + В конструкторе мы выделили память с malloc, но нигде в программе её не освободили + Соответственно, в предыдущей программе у нас есть очень серьёзная ошибка - утечка памяти. + + Где же нужно освобождать память? + Если память была выделена в конструкторе при создании объекта, то выделять её нужно при удалении объекта. + Для того, чтобы испольнить ваш код при удалении объекта существует специальный метод, который называется Деструктор. + + + Деструктор - это специальный метод, который вызывается тогда, когда объект уничтожается + Объекты, созданные на стеке удаляются при выходе из области видимости + + + Синтаксис деструктора такой: + + ~String() + { + ... + } +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + cout << "Constructor of " << str << endl; + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i] != '\0'; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + + ~String() + { + cout << "Destructor of " << mpData << endl; + std::free(mpData); + } + + + size_t getSize() const + { + return mSize; + } + + size_t getCapacity() const + { + return mCapacity; + } + + const char* cStr() const + { + return mpData; + } +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Cat"; + String b = "Dog"; + + if (true) + { + String c = "Lion"; + } + + String c = "Bear"; +} + + + +/* + Задание: + + 1) Что напечатает данная программа? + В каком порядке вызовутся конструкторы + + + 2) Если создать строку String в цикле, то будут ли каждую итерацию вызываться конструкторы и деструкторы? + + for (int i = 0; i < 10; ++i) + { + String s = "Elephant"; + } +*/ diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition.cpp new file mode 100644 index 0000000..7dc87fb --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition.cpp @@ -0,0 +1,94 @@ +/* + Оператор сложения + + Оператор сложения для строк должен принимать 2 строки и возвращать новую строку, равную результату конкатенации двух строк + Если строка a = "Cat" , а строка b = "Mouse" , то их конкатенация это a + b = "CatMouse" + + Оператор сложения должен принимать свои аргументы по константной ссылке + по ссылке, чтобы не копировать объект лишний раз при передаче в функцию + по константной, потому что мы не будем менять принимаемые объекты внутри функции + + + То есть прототип оператора сложения, если его делать с помощью обычной функции, должен выглядеть так: + + String operator+(const String& a, const String& b) + + + Прототип оператора сложения, если его делать с помощью метода класса String, должен выглядеть так: + + String operator+(const String& b) const +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "Constructor of " << str << endl; + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i] != '\0'; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + cout << "Destructor of " << mpData << endl; + std::free(mpData); + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Cat"; + String b = "Mouse"; + + cout << a + b << endl; +} + + + +/* + Задание: + + 1) Написать оператор сложения для строки String в виде свободной функции + В этом случае эту функцию нужно сделать дружественной классу String, + чтобы она имела доступ к приватным полям класса + + 2) Написать оператор сложения для строки String в виде метода класса String +*/ diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution1.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution1.cpp new file mode 100644 index 0000000..b59f25e --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution1.cpp @@ -0,0 +1,86 @@ +#include +#include +using std::cout, std::endl, std::size_t; + + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i] != '\0'; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} + + friend String operator+(const String& a, const String& b); +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + +String operator+(const String& a, const String& b) +{ + String result; + + result.mSize = a.mSize + b.mSize; + result.mCapacity = result.mSize + 1; + result.mpData = (char*)std::malloc(sizeof(char) * result.mCapacity); + + for (size_t i = 0; i < a.mSize; ++i) + result.mpData[i] = a.mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[a.mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; +} + + +int main() +{ + String a = "Cat"; + String b = "Mouse"; + + cout << a + b << endl; +} + + + diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution2.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution2.cpp new file mode 100644 index 0000000..c3b3eaf --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution2.cpp @@ -0,0 +1,86 @@ +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + String operator+(const String& b) + { + String result; + + result.mSize = mSize + b.mSize; + result.mCapacity = result.mSize + 1; + result.mpData = (char*)std::malloc(sizeof(char) * result.mCapacity); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + + ~String() + { + std::free(mpData); + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} + + friend String operator+(const String& a, const String& b); +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +int main() +{ + String a = "Cat"; + String b = "Mouse"; + + cout << a + b << endl; +} + + + diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment.cpp new file mode 100644 index 0000000..4775647 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment.cpp @@ -0,0 +1,126 @@ +/* + Оператор присваивания + + Оператор присваивания можно сделать только в виде метода + Такой метод должен + - принимать один аргумент - это правый аргумент оператора присваивания, + - менять объект, вызвавший оператор (то есть левый аргумент оператора присваивания) + - возвращать ссылку на объект, вызвавший оператор (то есть объект слева от оператора присваивания) + + + Почему оператор присваивания должен возвращать ссылку на левый аргумент? + Чтобы оператор присваивания работал аналогично тому как работает оператор присваивания для обычных типов + + Рассмотрим следующий пример: + + int a, b, c; + a = b = c = 123; // все переменные станут равны 123, операторы выполняются справа налево + + (a = 1) = 2; // a станет равной 2 + + + Мы хотим, чтобы и такой код работал: + + String a, b, c; + a = b = c = "Cat"; + + (a = "Dog") = "Mouse"; + + + Прототип оператора присваивания как метода класса String должен выглядеть так: + + String& operator=(const String& b) +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + String& operator=(const String& right) + { + // Ваш код нужно написать здесь + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Cat"; + String b = "Mouse"; + String c; + + a = b; + cout << a << endl; + + a = b = c = "Elephant"; + cout << a << endl; + cout << b << endl; + cout << c << endl; + + (a = "Dog") = "Axolotl"; + cout << a << endl; + + a = a; + cout << a << endl; +} + + + +/* + Задание: + + 1) Написать оператор присваивания для строки String в виде метода класса String + + Не забудьте учесть случай: + + String a = "Cat"; + a = a; +*/ diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment_solution.cpp new file mode 100644 index 0000000..9f74f17 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment_solution.cpp @@ -0,0 +1,92 @@ +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Cat"; + String b = "Mouse"; + String c; + + a = b; + cout << a << endl; + + a = b = c = "Elephant"; + cout << a << endl; + cout << b << endl; + cout << c << endl; + + (a = "Dog") = "Axolotl"; + cout << a << endl; + +} diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment.cpp new file mode 100644 index 0000000..c00d277 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment.cpp @@ -0,0 +1,132 @@ +/* + Оператор присваивания сложения += + + Очень похож на оператор присваивания, разница только в том, каким станет левый операнд после применения этого оператора + К левому операнду в этом случае должна прибавиться копия правого оператора + + Если a = "Cat" , b = "Dog" , то после применения a += b строка a будет равна "CatDog" + + + + Прототип оператора присваивания сложения как метода класса String должен выглядеть так: + + String& operator+=(const String& b) +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + String operator+(const String& b) + { + String result; + + result.mSize = mSize + b.mSize; + result.mCapacity = result.mSize + 1; + result.mpData = (char*)std::malloc(sizeof(char) * result.mCapacity); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + + String& operator+=(const String& right) + { + // Ваш код нужно написать здесь + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Mouse"; + String b = "Elephant"; + + b += a; + + cout << b << endl; +} + + + +/* + Задание: + + 1) Написать оператор присваивания сложения для строки String в виде метода класса String + + Подсказка: можно использовать уже написанные операторы, чтобы реализовать этот +*/ diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment_solution.cpp new file mode 100644 index 0000000..8b06b3a --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment_solution.cpp @@ -0,0 +1,110 @@ +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + String operator+(const String& b) + { + String result; + + result.mSize = mSize + b.mSize; + result.mCapacity = result.mSize + 1; + result.mpData = (char*)std::malloc(sizeof(char) * result.mCapacity); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + + String& operator+=(const String& right) + { + *this = *this + right; + return *this; + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Mouse"; + String b = "Elephant"; + + b += a; + + cout << b << endl; +} + diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt.cpp new file mode 100644 index 0000000..31dc20c --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt.cpp @@ -0,0 +1,122 @@ +/* + По решению предыдущего занятия понятно, что операторы + = и += взаимосвязаны. + + Если реализованы операторы + и = можно, используя их, реализовать оператор += + Если реализованы операторы = и += можно, используя их, реализовать оператор + +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + String& operator+=(const String& right) + { + if (mCapacity < mSize + right.mSize + 1) + { + mCapacity = mSize + right.mSize + 1; + char* pNewData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + pNewData[i] = mpData[i]; + + std::free(mpData); + mpData = pNewData; + } + + for (size_t i = 0; i < right.mSize; ++i) + mpData[mSize + i] = right.mpData[i]; + + mSize += right.mSize; + mpData[mSize] = '\0'; + + return *this; + } + + String operator+(const String& b) + { + + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Mouse"; + String b = "Elephant"; + + cout << a + b << endl; +} + + + +/* + Задача: + + 1) Напишите оператор + , используя операторы = и += + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt_solution.cpp new file mode 100644 index 0000000..9a51e3c --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt_solution.cpp @@ -0,0 +1,108 @@ +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + String& operator+=(const String& right) + { + if (mCapacity < mSize + right.mSize + 1) + { + mCapacity = mSize + right.mSize + 1; + char* pNewData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + pNewData[i] = mpData[i]; + + std::free(mpData); + mpData = pNewData; + } + + for (size_t i = 0; i < right.mSize; ++i) + mpData[mSize + i] = right.mpData[i]; + + mSize += right.mSize; + mpData[mSize] = '\0'; + + return *this; + } + + String operator+(const String& b) + { + String result = *this; + result += b; + return result; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Mouse"; + String b = "Elephant"; + + cout << a + b << endl; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators.cpp new file mode 100644 index 0000000..74563db --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators.cpp @@ -0,0 +1,120 @@ +/* + Операторы сравнения == != > >= < <= + + К строкам можно применять операторы сравнения. + + Очевидно, когда строки равны: должны быть равны размеры строк (mSize) и все символы от 0 до mSize + При этом вместимость (mCapacity) у равных строк может отличаться + + Как сравнивать строки на больше/меньше? В этом случае сравниваем лексикографически, то есть, по алфавиту. + То слово, которое находилось бы в орфографическом словаре позже и будет большим. + Например, "Cat" > "Camel" так как первые 2 буквы совпадают, а третья буква у слова Cat идёт дальше по алфавиту + + + Более точное сравнение такое: мы сравниваем посимвольно до первого несовпадающего символа + Если мы нашли первые несовпадающий символ и не дошли до конца в обоих строках, то та строка будет больше, + у которой этот символ больше. + +*/ + +#include +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + ~String() + { + std::free(mpData); + } + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + cout << std::boolalpha; + + String a = "Cat"; + String b = "Camel"; + + cout << (a > b) << endl; + cout << (a < b) << endl; + cout << (a == b) << endl; + cout << (a == a) << endl; + + + String c = "Catharsis"; + + cout << (a > c) << endl; + cout << (a < c) << endl; + cout << (a == c) << endl; + cout << (a != c) << endl; +} + + + +/* + Задача: + + 1) Напишите операторы == != > >= < <= для класса String + Подсказка: можно использовать уже написанные сравнения + Например, если вы написали оператор > , то очень просто написать оператор <= , используя оператор > + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators_solution.cpp new file mode 100644 index 0000000..43e2026 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators_solution.cpp @@ -0,0 +1,140 @@ +#include +#include +#include +using std::cout, std::endl, std::size_t; + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + bool operator==(const String& right) const + { + if (mSize != right.mSize) + return false; + + size_t i = 0; + while (i < mSize && mpData[i] == right.mpData[i]) + i++; + + return i == mSize; + } + + bool operator<(const String& right) const + { + size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] < right.mpData[i]; + } + + bool operator<=(const String& right) const + { + size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] <= right.mpData[i]; + } + + bool operator!=(const String& right) const + { + return !(*this == right); + } + + bool operator>(const String& right) const + { + return !(*this <= right); + } + + bool operator>=(const String& right) const + { + return !(*this < right); + } + + + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + cout << std::boolalpha; + + String a = "Cat"; + String b = "Camel"; + + cout << (a > b) << endl; + cout << (a < b) << endl; + cout << (a == b) << endl; + cout << (a == a) << endl; + + + String c = "Catharsis"; + + cout << (a > c) << endl; + cout << (a < c) << endl; + cout << (a == c) << endl; + cout << (a != c) << endl; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator.cpp new file mode 100644 index 0000000..2dfb9b5 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator.cpp @@ -0,0 +1,122 @@ +/* + Операторы индексации [] + + Чтобы получить доступ к одному символу у строки в стиле C можно использовать оператор индексации (квадратные скобочки). + Хотелось бы иметь такую же возможность и для нашей строки. + + Для этого можно перегрузить оператор индексации: + + char& operator[](size_t i) + + Этот оператор вызавется при взятии символа по индексу, например, если a это строка типа String, + + a[i] будет восприниматься компилятором как a.operator[](i) + + + Оператор индексации должен возвращать ссылку на символ, чтобы можно было менять соответствующий символ + + a[i] = 'A'; +*/ + +#include +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Cat"; + + cout << a[0] << endl; + cout << a[2] << endl; + cout << a[4] << endl; + + + cout << a.at(0) << endl; + cout << a.at(2) << endl; + cout << a.at(4) << endl; + +} + + + +/* + Задача: + + 1) Напишите оператор индексации для класса String + + + 2) Напишите метод at, который будет работать аналогично оператору индексации, только с тем отличием, что + если на вход приходит неправильный индекс (т. е. индекс >= mSize), то метод at должен печатать сообщение + об ошибке и завершать программу. + Для завершения программы используйте функцию std::exit(1) из библиотеки . + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator_solution.cpp new file mode 100644 index 0000000..f7ed062 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator_solution.cpp @@ -0,0 +1,102 @@ +#include +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + char& at(size_t i) + { + if (i >= mSize) + { + cout << "Error! Index is out of bounds." << endl; + std::exit(1); + } + return mpData[i]; + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Cat"; + + cout << a[0] << endl; + cout << a[2] << endl; + cout << a[4] << endl; + + + cout << a.at(0) << endl; + cout << a.at(2) << endl; + cout << a.at(4) << endl; + +} diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize.cpp new file mode 100644 index 0000000..694065f --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize.cpp @@ -0,0 +1,145 @@ +/* + Напишем ещё 2 очень полезных метода: + + 1) reserve - увеличивает вместимость строки, на вход методу передаётся новая вместмость + если новая вместимость меньше старой, то ничего не происходит (вместимость не уменьшается) + размер и содержимое строки не меняется + + + 2) resize - изменяет размер строки, на вход методу передаётся новый размер + если новый размер меньше старого, то строка усекается + при необходимости увеличивает вместимость + + Используя эти два метода можно немного упростить код для операторов сложения и присваивания. + Эти методы могут быть полезны и для программиста, который будет работать с нашей строкой, поэтому сделаем их публичными. +*/ + +#include +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + void reserve(size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; + } + + + void resize(size_t size) + { + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Cat"; + String b = "Dog"; + + cout << a.getCapacity() << endl; + a.reserve(10); + cout << a.getCapacity() << endl; + + cout << a + b << endl; + + + String c = "Sapere Aude"; + cout << c << endl; + + c.resize(6); + cout << c << endl; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize_solution.cpp new file mode 100644 index 0000000..5f704fd --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize_solution.cpp @@ -0,0 +1,134 @@ +#include +#include +#include +using std::cout, std::cin, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + void reserve(size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; + } + + + void resize(size_t size) + { + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a = "Cat"; + String b = "Dog"; + + cout << a.getCapacity() << endl; + a.reserve(10); + cout << a.getCapacity() << endl; + + cout << a + b << endl; + + + String c = "Sapere Aude"; + cout << c << endl; + + c.resize(6); + cout << c << endl; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload.cpp new file mode 100644 index 0000000..d91d9ee --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload.cpp @@ -0,0 +1,166 @@ +/* + Считывание строки с экрана + + Помимо удобной печати на экран с помощью объекта std::cout, хотелось бы добавить удобное считываие строки + с помощью объекта std::cin. + + Для этого нужно перегрузить оператор >> с объектами типа std::istream и String, то есть написать функцию: + + std::istream& operator>>(std::istream& in, String& str) + + Эта функция должна считывать символы из стандартного входа и добавлять в строку + Основная проблема в том, что мы не знаем сколько символов нужно считать, поэтому нужно считывать + посимвольно и добавлять символы по одному в строку пока не встретим пробельный символ (' ' или '\n' или '\t') + + Для упрощения программы можно написать дополнительные методы + + void clear() - метод, который будет очищать строку + mSize = 0, mCapacity = 1, строка по адресу mpData равна "\0" + + void addCharacter(char c) - добавляет символ в конец строки + если у строки не хватает вместимости, то удваивает вместимость. + + + Для того, чтобы считать символ из стандартного входа можно использовать метод get класса istream + Этот метод возвращает следующий символ из стандартного входа + + char x = cin.get(); +*/ + +#include +#include +#include +using std::cout, std::cin, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + void reserve(size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; + } + + + void resize(size_t size) + { + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + +int main() +{ + String a, b; + cin >> a >> b; + cout << a + b; + + a.addCharacter('!'); + cout << a << endl; +} + + +/* + Задача: + + 1) Напишите метод clear. + + 2) Напишите метод addCharacter. + + 3) Напишите перегруженный оператор << для считывания строки с экрана. + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload_solution.cpp new file mode 100644 index 0000000..0afe413 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload_solution.cpp @@ -0,0 +1,158 @@ +#include +#include +#include +using std::cout, std::cin, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + + ~String() + { + std::free(mpData); + } + + + void reserve(size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; + } + + + void resize(size_t size) + { + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + void clear() + { + std::free(mpData); + + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + mpData[0] = '\0'; + } + + void addCharacter(char c) + { + if (mSize + 1 == mCapacity) + reserve(2 * mCapacity); + + mpData[mSize] = c; + resize(mSize + 1); + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& out, const String& s) +{ + out << s.cStr(); + return out; +} + + +std::istream& operator>>(std::istream& in, String& s) +{ + s.clear(); + while (true) + { + char x = in.get(); + if (x == ' ' || x == '\n' || x == '\t') + break; + s.addCharacter(x); + } + return in; +} + + +int main() +{ + String a, b; + cin >> a >> b; + cout << a + b << endl; + + a.addCharacter('!'); + cout << a << endl; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/12full_string.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/12full_string.cpp new file mode 100644 index 0000000..1868129 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/12full_string.cpp @@ -0,0 +1,262 @@ +/* + Собираем все методы вместе. Получилась строка, которой можно удобно пользоваться и не задумываться о выделении памяти. +*/ + +#include +#include +using std::cout, std::cin, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + String(size_t n, char a) + { + mSize = n; + mCapacity = n + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = a; + mpData[mSize] = '\0'; + } + + ~String() + { + std::free(mpData); + } + + void reserve(size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; + } + + + void resize(size_t size) + { + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + String& operator+=(const String& right) + { + *this = *this + right; + return *this; + } + + bool operator==(const String& right) const + { + if (mSize != right.mSize) + return false; + + size_t i = 0; + while (i < mSize && mpData[i] == right.mpData[i]) + i++; + + return i == mSize; + } + + bool operator<(const String& right) const + { + size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] < right.mpData[i]; + } + + bool operator<=(const String& right) const + { + size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] <= right.mpData[i]; + } + + bool operator!=(const String& right) const + { + return !(*this == right); + } + + bool operator>(const String& right) const + { + return !(*this <= right); + } + + bool operator>=(const String& right) const + { + return !(*this < right); + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + char& at(size_t i) + { + if (i >= mSize) + { + cout << "Error! Index is out of bounds." << endl; + std::exit(1); + } + return mpData[i]; + } + + void clear() + { + std::free(mpData); + + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + mpData[0] = '\0'; + } + + void addCharacter(char c) + { + if (mSize + 1 == mCapacity) + reserve(2 * mCapacity); + + mpData[mSize] = c; + resize(mSize + 1); + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& out, const String& s) +{ + out << s.cStr(); + return out; +} + +std::istream& operator>>(std::istream& in, String& s) +{ + s.clear(); + while (true) + { + char x = in.get(); + if (x == ' ' || x == '\n' || x == '\t') + break; + s.addCharacter(x); + } + return in; +} + + +int main() +{ + String a = "Mouse"; + String b; + cin >> b; + String c = b; + + if (a + c == "MouseLion") + cout << "Yes" << endl; + else + cout << "No" << endl; + + + if (a > "Mice") + cout << "Yes" << endl; + else + cout << "No" << endl; + + + c[0] = 'P'; + cout << c << endl; + + c += a; + cout << c << endl; + + c = c + String(10, 'q'); + cout << c << endl; +} + + + +/* + Задача: + + + 1) Напищите программу, которая будет считывать слова (используйте cin) в бесконечном цикле и каждый + раз печатать сумму всех слов. Например, если пользователь ввёл Hello, то программа должна напечатать + Hello и запросить следующее слово. Если затем пользователь введёт World, то программа должна будет + напечатать HelloWorld и запросить следуещее слово и так далее. + Программа должна останавливаться если пользователь ввёл слово "quit". +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/12full_string_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/12full_string_solution.cpp new file mode 100644 index 0000000..7a2022e --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/12full_string_solution.cpp @@ -0,0 +1,233 @@ +#include +#include +using std::cout, std::cin, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + String(size_t n, char a) + { + mSize = n; + mCapacity = n + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = a; + mpData[mSize] = '\0'; + } + + ~String() + { + std::free(mpData); + } + + void reserve(size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; + } + + + void resize(size_t size) + { + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + for (size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + String& operator+=(const String& right) + { + *this = *this + right; + return *this; + } + + bool operator==(const String& right) const + { + if (mSize != right.mSize) + return false; + + size_t i = 0; + while (i < mSize && mpData[i] == right.mpData[i]) + i++; + + return i == mSize; + } + + bool operator<(const String& right) const + { + size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] < right.mpData[i]; + } + + bool operator<=(const String& right) const + { + size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] <= right.mpData[i]; + } + + bool operator!=(const String& right) const + { + return !(*this == right); + } + + bool operator>(const String& right) const + { + return !(*this <= right); + } + + bool operator>=(const String& right) const + { + return !(*this < right); + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + char& at(size_t i) + { + if (i >= mSize) + { + cout << "Error! Index is out of bounds." << endl; + std::exit(1); + } + return mpData[i]; + } + + + void clear() + { + std::free(mpData); + + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + mpData[0] = '\0'; + } + + void addCharacter(char c) + { + if (mSize + 1 == mCapacity) + reserve(2 * mCapacity); + + mpData[mSize] = c; + resize(mSize + 1); + } + + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& out, const String& s) +{ + out << s.cStr(); + return out; +} + +std::istream& operator>>(std::istream& in, String& s) +{ + s.clear(); + while (true) + { + char x = in.get(); + if (x == ' ' || x == '\n' || x == '\t') + break; + s.addCharacter(x); + } + return in; +} + + +int main() +{ + String all; + String nextWord; + + while (true) + { + cin >> nextWord; + if (nextWord == "quit") + break; + + all += nextWord; + cout << all << endl; + } +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/13problem_init_vs_assignment.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/13problem_init_vs_assignment.cpp new file mode 100644 index 0000000..1157041 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/13problem_init_vs_assignment.cpp @@ -0,0 +1,142 @@ +/* + Рассмотрим при каких условиях происходит вызов того или иного метода. + + Для этого будем использовать класс String, в котором была добавлена печать на экран для конструкторов, + деструктора и оператора присваивания. + Например, конструктор по умолчанию будет печатать Default Constructor и т. д. +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +int main() +{ + String a = "Cat"; + String b = a; +} + +/* + Задачи: + + 1) Какие методы вызовутся в строке + + String a = "Cat"; + + Выберите один из вариантов: + + а) Только конструктор из const char* + б) Только оператор присваивания + в) И конструктор из const char* и оператор присваивания + + + 2) Какие методы вызовутся в строке + + String b = a; + + Выберите один из вариантов: + + а) Только конструктор копирования + б) Только оператор присваивания + в) И конструктор копирования и оператор присваивания + + + + 3) Проверьте ваши догадки скомпилировав и запустив программу + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment.cpp new file mode 100644 index 0000000..4a6108b --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment.cpp @@ -0,0 +1,121 @@ +/* + Рассмотрим при каких условиях происходит вызов того или иного метода. + + Для этого будем использовать класс String, в котором была добавлена печать на экран для конструкторов, + деструктора и оператора присваивания. + Например, конструктор по умолчанию будет печатать Default Constructor и т. д. +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +int main() +{ + String a = "Cat"; + String c; + c = a; +} + +/* + Задачи: + + 1) Какие методы класса String вызовутся в данной программе. + + 2) Проверьте ваши догадки, скомпилировав и запустив программу +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment_solution.cpp new file mode 100644 index 0000000..0fdd67a --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment_solution.cpp @@ -0,0 +1,36 @@ +/* + Решения: + + 1) String a = "Cat"; + + Будет вызван только конструктор из const char* + + + + 2) String b = a; + + Будет вызван только конструктор копирования + + Несмотря на то, что в этих выражениях присутствует символ = оператор присваивания в этих случаях не вызывается. + + + + + 3) String c; + c = a; + + Будет вызван конструктор по умолчанию в строке String c; + А потом будет вызван оператор присваивания в строке c = a; + + + Получается символ = может использоваться для обозначения двух разных вещей: инициализации и присваивания. + + + String a = "Cat"; // Инициализация строкой "Cat" (вызов коструктора от const char*) + + String b = a; // Инициализация объектом a (вызов коструктора копирования) + + String c; // Инициализация по умолчанию (вызов конструктора по умолчанию) + c = a; // Присваивание (вызов метода operator=) + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton.cpp new file mode 100644 index 0000000..f6651cf --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton.cpp @@ -0,0 +1,135 @@ +/* + Посмотрим какие особые методы вызываются при передаче объекта в функцию. +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +void print(String s) +{ + cout << s << endl; +} + + +int main() +{ + String a = "Cat"; + print(a); +} + +/* + Задачи: + + 1) Какие методы класса String вызовутся в данной программе. + + + 2) Проверьте ваши догадки скомпилировав и запустив программу + + + 3) Что если мы будем передавать объект String в функцию print не по значению, а по ссылке, то есть изменим + функцию print на следующую: + + void print(const String& s) + { + cout << s << endl; + } + + Какие методы будут вызваны теперь? + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton_solution.cpp new file mode 100644 index 0000000..3226cfd --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton_solution.cpp @@ -0,0 +1,64 @@ +/* + Решения: + + 1) В случае: + + void print(String s) + { + cout << s << endl; + } + + int main() + { + String a = "Cat"; + print(a); + } + + Вызовутся следующие методы: + + 1) Конструктор строки из "Cat" + + + 2) При передаче объекта в функцию по значению, он должен быть скопирован. + Соответственно при вызове print(a) объект a должен скопироваться в объект s функции print. + Для обычных типов вроде int тут бы произошло побайтовое копирование, но для классов вызывается конструктор копирования. + + + 3) Внутри функции print объект s печатается на экран. Затем мы выходим из функции print и уничтожаем все локальные объекты этой функции. + Соответственно вызовется деструктор для объекта s. + + + 4) Затем мы выходим из функции main и уничтожаем все объекты, локальные для функции main. + Соответственно вызовется деструктор для объекта a. + + + + + 3) В случае: + + void print(const String& s) + { + cout << s << endl; + } + + int main() + { + String a = "Cat"; + print(a); + } + + Вызовутся следующие методы: + + 1) Конструктор строки из "Cat" + + + При передаче объекта в функцию по ссылке, этот объект в функцию не копируется. + Поэтому никаких конструкторов копирования не вызывается. + + + 2) Деструктор для строки a из функии main. + + + Получается, что обычно передавать объекты в функции более эффективно по ссылке, а не по значению. + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton.cpp new file mode 100644 index 0000000..317e2b2 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton.cpp @@ -0,0 +1,131 @@ +/* + Особые методы при передачах в функцию + + Посмотрим какие особые методы вызываются при передаче объекта в функцию +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +void changeFirstLetter(String s) +{ + s[0] = 'B'; +} + + +int main() +{ + String a = "Cat"; + cout << a << endl; + + changeFirstLetter(a); + cout << a << endl; +} + +/* + Задачи: + + 1) Какие методы класса String вызовутся в данной программе. + + 2) Проверьте ваши догадки скомпилировав и запустив программу + + 3) Функция changeFirstLetter должна была менять первую букву нашей строки на букву 'B', но это не происходит и + строка a после вызова changeFirstLetter(a) остаётся неизменной. + Почему это происходит и как изменить функцию changeFirstLetter чтобы она меняла первую букву переданной строки. +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton_solution.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton_solution.cpp new file mode 100644 index 0000000..c689bb1 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton_solution.cpp @@ -0,0 +1,136 @@ +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +void changeFirstLetter(String& s) +{ + s[0] = 'B'; +} + + +int main() +{ + String a = "Cat"; + cout << a << endl; + + changeFirstLetter(a); + cout << a << endl; +} + +/* + Решение: + + В такую функцию: + + void changeFirstLetter(String s) + { + s[0] = 'B'; + } + + строка передавалась по значению и, следовательно, происходило копирование этой строки в объект s функции changeFirstLetter. + Функция changeFirstLetter меняла первую букву копии нашей строки, но оригинальная строка не менялась. + + + Для того, чтобы функция changeFirstLetter меняла оригинальную строку ей нужно передавать объект не по значению, а по ссылке вот так: + + void changeFirstLetter(String& s) + { + s[0] = 'B'; + } + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls.cpp new file mode 100644 index 0000000..63fd799 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls.cpp @@ -0,0 +1,149 @@ +/* + Различный синтаксис вызова конструкторов +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +int main() +{ + String a = "Cat"; + + String b = String("Dog"); + + String c("Mouse"); + + String d = {"Tiger"}; + + String e = String{"Axolotl"}; + + String f {"Lion"}; +} + +/* + Ввиду того, что язык C++ имеет длинную историю, на протяжении которой в язык добавлялись новые возможности, + в языке существует множество способов сделать одно и то же разными способами. + + Один из ярких примеров этого является инициализация объекта. В этом примере создаются 6 строк. Синтаксис различается, + но в данном случае все эти строки по сути делают одно и то же: cоздают объект с помощью конструктора от const char*. + При этом не вызывается никаких конструкторов копирования или операторов присваивания. + + В современном языке C++ предпочтительным способом инициализации является вариант f: + + String f {"Lion"}; + + + + Задачи: + + 1) Что напечатает данная программа? + В каком порядке вызовутся конструкторы и в каком порядке вызовутся деструкторы? + + 2) Скомпилируйте программу и запустите, чтобы проверить ваши догадки. + + 3) Создайте 5 объектов типа String с помощью конструктора по умолчанию, используя разный синтаксис вызова конструктора. + + 4) Пусть есть объект x типа String: + + String x = "Cat"; + + Создайте 6 объектов типа String с помощью конструктора копирования, используя разный синтаксис вызова конструктора. + Все новые объекты должны копировать объект x. + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution1.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution1.cpp new file mode 100644 index 0000000..1880951 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution1.cpp @@ -0,0 +1,124 @@ +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +int main() +{ + String a; + + String b = String(); + + // String c(); + + String d = {}; + + String e = String{}; + + String f {}; +} + +/* + Аналогично есть множество вариантов синтаксиса вызова конструктора по умолчанию. + + Только такой вариант вызова конструктора не работает: + + String c(); + + Потому что в этом случае компилятор считает, что это объявление функции по имени c, которая ничего не принимает и возвращает объект типа String. + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution2.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution2.cpp new file mode 100644 index 0000000..812c132 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution2.cpp @@ -0,0 +1,116 @@ +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +int main() +{ + String x = "Cat"; + + + String a = x; + + String b = String(x); + + String c(x); + + String d = {x}; + + String e = String{x}; + + String f {x}; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/3default_methods/00special_methods.cpp b/seminar02_encapsulation/classroom_tasks/code/3default_methods/00special_methods.cpp new file mode 100644 index 0000000..4e2e462 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/3default_methods/00special_methods.cpp @@ -0,0 +1,197 @@ +/* + Особые методы + + В прошлой части мы рассмотрели различные методы классов. Некоторые из этих методов называются особыми. + Они выделяются по сравнению с другими методами тем, что они будут создаваться автоматически даже если вы их не напишите. + К особым методам класса относятся: + + + 1) Конструктор по умолчанию. То есть конструктор, который не принимает ни одного аргумента. + В случае со строкой String это контруктор: + + String() + + + 2) Конструктор копирования. То есть конструктор, который создаёт объект из другого объекта такого же типа, что и данный. + В случае со строкой String это контруктор: + + String(const String& s) + + + 3) Деструктор. Это метод, который вызывается при удалении объекта. В отличии от конструкторов, деструктор у объекта всегда один. + В случае со строкой String это: + + ~String() + + + 4) Оператор присваивания. Это метод, который вызывается при присваивании одного метода класса String другому методу класса String. + В случае со строкой String это: + + String& operator=(const String& right) + + + + 5,6) Есть ещё 2 особых метода, которые мы пройдём позже. + + + Все остальные методы, включаю другие конструкторы и перегруженные операторы, к особым методам не относятся. + То есть остальные методы не могут создаваться автоматически. + + + В этой части мы рассмотрим при каких условиях происходит вызов того или иного особого метода. + Для этого будем использовать класс String, в котором была добавлена печать на экран для каждого особого метода и для коструктора из const char*. + Например, конструктор по умолчанию будет печатать Default Constructor и т. д. +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +class Book +{ +public: + String title; + int pages; + float price; +}; + + +int main() +{ + Book a = Book(); + cout << a.title << " " << a.pages << " " << a.price << endl; +} + + + +/* + У класса Book есть 3 поля, одно из которых имеет тип String. + Но у класса Book не определён ни один метод. У него нет никаких конструкторов или перегруженных операторов. + + Теперь посмотрим на код: + + Book a = Book(); + + Тут мы создаём объект типа Book с помощью конструктора по умолчанию. Но у Book не написан конструктор по умолчанию! + Что же произойдёт в этом случае? Ошибка? Нет, на самом деле в этом случае конструктор будет создан автоматически. Вот такой: + + Book() {} + + Автоматически-сгенерированный конструктор по умолчанию ничего не делает. + Тем не менее, перед вызовом этого конструктора, компилятор должен вызвать конструктор по умолчанию для всех полей класса, + у которых есть конструктор по умолчанию. + В этом случае, при создании объекта класса Book с помощью конструктора по умолчанию, будет вызван конструктор по умолчанию класса String. + + + + Аналогично, автоматически сгенерируется деструктор по умолчанию, вот такой: + + ~Book() {} + + Он пустой, но нужно помнить, что после вызова деструктора класса, автоматически вызываются деструкторы для все его полей (у которых есть деструкторы) + В этом случае, после вызова деструктора класса Book вызовется деструктор класса String. + + + + + + Задачи: + + 1) Скомпилируйте программу, запустите и убедитесь, что в этом примере вызываются + конструктор по умолчанию и деструктор класса String. +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/3default_methods/01special_methods.cpp b/seminar02_encapsulation/classroom_tasks/code/3default_methods/01special_methods.cpp new file mode 100644 index 0000000..820ab32 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/3default_methods/01special_methods.cpp @@ -0,0 +1,191 @@ +/* + Особые методы + + Проверим, что компилятор автоматически генерирует конструктор копирования и оператор присваивания. +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +class Book +{ +public: + String title; + int pages; + float price; +}; + +void print(Book x) +{ + cout << x.title << " " << x.pages << " " << x.price << endl; +} + +int main() +{ + Book a; + + a.title = "War and Peace"; + a.pages = 1000; + a.price = 1100; + + Book b; + b = a; + print(b); +} + + + +/* + Что напечатает данная программа? + + Разберём код из функции main подробно: + + 1) Вызывается автоматически сгенерированный конструктор по умолчанию в строке: + + Book a; + + При этом перед вызовом этого конструктора вызовется и конструктор класса String поля title. + + + + 2) Полям объекта a присваиваются некоторые значения: + + a.title = "War and Peace"; + a.pages = 1000; + a.price = 1100; + + Интересно отметить, что строка a.title = "War and Peace" работает, несмотря на то, что слева от знака + присваивания стоит объект типа String, а справа от знака присваивания стоит объект типа const char[14]. + Типы не совпадают, но это работает, так как у класса String есть конструктор от const char*. + Таким образом, сначала вызовется этот конструктор и создастся временный объект типа String, а потом + вызовется оператор присваивания между двумя объектами класса String. + После этого временный объект удалится и, соответственно, вызовется его деструктор. + + + + 3) Вызывается автоматически сгенерированный конструктор по умолчанию в строке: + + Book b; + + + + 4) Вызывается автоматически сгенерированный перегруженный оператор присваивания в строке: + + b = a; + + Автоматически сгенерированный оператор присваивания применяет оператор присваивания для каждого поля. + + + + 5) Передача в функцию print осуществляется по значению. Следовательно в строке + + print(b); + + объект b должен быть скопирован внутрь функции. Для этого должен быть вызван конструктор копирования. + Конструктор копирования у класса Book не написан, поэтому компилятор автоматически его сгенерирует. + + Автоматически сгенерированный конструктор копирования копирует каждое поле в соответствующее поле нового объекта. + Если у поля есть конструктор копирования (как например у класса String), то вызывается конструктор копирования этого поля. + Если у поля нет конструктора копирования (как например у int или float), то поле просто копируется побайтово. + + + 6) Выходим из функции print и вызываем деструктор для объекта x. + + 7) Выходим из функции main и вызываем деструкторы для объектов a и b. +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/3default_methods/02default_constructor_remark.cpp b/seminar02_encapsulation/classroom_tasks/code/3default_methods/02default_constructor_remark.cpp new file mode 100644 index 0000000..ca9eb59 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/3default_methods/02default_constructor_remark.cpp @@ -0,0 +1,148 @@ +/* + Замечание по поводу автоматической генерации конструктора по умолчанию +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +class Book +{ +public: + String title; + int pages; + float price; + + Book(const String& aTitle, int aPages, float aPrice) + { + title = aTitle; + pages = aPages; + price = aPrice; + } +}; + + +int main() +{ + Book a; +} + + + +/* + Конструктор по умолчанию не генерируется автоматически если у класса написан хотя бы один конструктор (любой). + Например, в этом пример у класса Book написан один конструктор: + + Book(const String& aTitle, int aPages, float aPrice) + + Поэтому в данном случае конструктор по умочанию автоматически генерироваться не будет. + + + + В строке Book a; должен быть вызван конструктор по умолчанию. + Но у класса Book такого конструктора нет и автоматически он не был создан. Поэтому эта строка приведёт к ошибке. + + + + Но конструктор копирования, оператор присваивания и деструктор автоматически генерироваться будут. + + + Задача: + + Исправьте ошибку, написав конструктор по умолчанию самостоятельно. +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/3default_methods/03delete_keyword.cpp b/seminar02_encapsulation/classroom_tasks/code/3default_methods/03delete_keyword.cpp new file mode 100644 index 0000000..03916df --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/3default_methods/03delete_keyword.cpp @@ -0,0 +1,164 @@ +/* + Удалённые методы +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + cout << "String Constructor from const char* (" << str << ")" << endl; + + size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; str[i]; ++i) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +class Book +{ +public: + String title; + int pages; + float price; + + Book() {}; + + Book(const String& aTitle, int aPages, float aPrice) + { + title = aTitle; + pages = aPages; + price = aPrice; + } + + Book(const Book& b) = delete; +}; + + +int main() +{ + Book a; + + Book b = a; +} + + + +/* + Если же вы не хотите создавать какой-либо метод и не хотите чтобы он создавался автоматически, + то его можно удалить с помощью ключевого слова delete. + + + Например, в этом примере у класса Book удалён конструктор копирования вот так: + + Book(const Book& b) = delete; + + Это означает, что конструктор копирования не создастся автоматически. + Поэтому в строке: + + Book b = a; + + произойдёт ошибка компиляции. + + + + Задача: + + 1) Можно ли передать объект класса с удалённым конструктором копирования в функцию по значению? + + Например, если есть функция: + + void print(Book b) + { + cout << b.title << " "<< b.pages << " " << b.price << endl; + } + + Можно ли туда передать что-нибудь? + +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/3default_methods/04implicit_cast_constructor.cpp b/seminar02_encapsulation/classroom_tasks/code/3default_methods/04implicit_cast_constructor.cpp new file mode 100644 index 0000000..7d42352 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/3default_methods/04implicit_cast_constructor.cpp @@ -0,0 +1,188 @@ +/* + Неявное приведение типа с помощью конструктора от одного параметра. +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + String(const char* s) + { + cout << "String Constructor from const char* (" << s << ")" << endl; + + size_t i = 0; + while (s[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; s[i]; ++i) + mpData[i] = s[i]; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +void print(String s) +{ + cout << s << endl; +} + + +int main() +{ + String a; + a = "Dog"; + + print("Mouse"); +} + + + +/* + Одна из скрытых вещей, где используются конструкторы, это для неявного приведения типов. + + Рассмотрим следующие строки: + + String a; + a = "Dog"; + + Во второй строке должен вызваться оператор присваивания. + Слева от оператора присваивания стоит объект типа String, а справа от оператора присваивания стоит объект типа const char[4]. + Поэтому должен вызваться метод operator=(const char* s) класса String. (при передаче в функцию массив автоматически конвертируется в указатель) + Но такого метода в классе String нет. Что же тогда будет сделано? + + В этом случае будет сделано следующее: + + 1) Будет создан временный объект типа String с использованием конструтора String(const char* s). + 2) Будет вызван оператор присваивания operator=(const String& s). Объекту a присвоится временный объект. + 3) Временный объект будет уничтожен, при этом вызовется деструктор класса String. + + + + + Рассмотрим строку: + + print("Mouse"); + + Функция print должна принимать объект типа String, но на вход ей приходит объект типа const char[6]. + Что будет сделано в этом случае? + И в этом случае всё сработает, так как объект s функции print будет создан с помощью конструктора класса String от const char*. + + + + Таким образом конструктор от одного аргумента автоматически используется для неявного приведения одного типа в другой. + + + + Задачи: + + 1) Что если мы напишем конструктор класса String от числа типа int. + Этот конструктор будет принимать число n и создавать строку, состоящую из n символов 'a' + + + String(int n) + { + cout << "String Constructor from int (" << n << ")" << endl; + + mSize = n; + mCapacity = mSize + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + for (size_t i = 0; i < mSize; ++i) + mpData[i] = 'a'; + mpData[mSize] = '\0'; + } + + + + Будет ли этот конструктор использоваться для неявного приведения чисел типа int в строки типа String? + Например, будет ли работать следующий код: + + String b; + b = 5; + + (b будет строкой состоящей из 5 символов 'a' ?) + + + print(10); + + (напечатает строку, состоящую из 10 символов 'a') +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/3default_methods/05explicit.cpp b/seminar02_encapsulation/classroom_tasks/code/3default_methods/05explicit.cpp new file mode 100644 index 0000000..ff73301 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/3default_methods/05explicit.cpp @@ -0,0 +1,147 @@ +/* + Ключевое слово explicit. +*/ + +#include +#include +using std::cout, std::endl, std::size_t; + + +class String +{ +private: + + size_t mSize; + size_t mCapacity; + char* mpData; + +public: + + explicit String(const char* s) + { + cout << "String Constructor from const char* (" << s << ")" << endl; + + size_t i = 0; + while (s[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; s[i]; ++i) + mpData[i] = s[i]; + mpData[mSize] = '\0'; + } + + explicit String(int n) + { + cout << "String Constructor from int (" << n << ")" << endl; + + mSize = n; + mCapacity = mSize + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + for (size_t i = 0; i < mSize; ++i) + mpData[i] = 'a'; + mpData[mSize] = '\0'; + } + + String() + { + cout << "String Default Constructor" << endl; + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char)); + mpData[0] = '\0'; + } + + String(const String& s) + { + cout << "String Copy Constructor (" << s.mpData << ")" << endl; + + size_t i = 0; + mSize = s.mSize; + mCapacity = mSize + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = s.mpData[i]; + mpData[mSize] = '\0'; + } + + ~String() + { + cout << "String Destructor (" << mpData << ")" << endl; + std::free(mpData); + } + + String& operator=(const String& right) + { + cout << "String Assignment Operator (" << right.mpData << ")" << endl; + if (this == &right) + return *this; + + + mSize = right.mSize; + mCapacity = right.mCapacity; + + std::free(mpData); + mpData = (char*)malloc(sizeof(char) * mCapacity); + + for (size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + char& operator[](size_t i) + { + return mpData[i]; + } + + size_t getSize() const {return mSize;} + size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + +std::ostream& operator<<(std::ostream& left, const String& right) +{ + left << right.cStr(); + return left; +} + + + +void print(String s) +{ + cout << s << endl; +} + + +int main() +{ + String a; + a = "Dog"; + + print("Mouse"); + print(10); +} + + + +/* + Иногда всё-таки не хочется, чтобы конструкторы использовались для неявного приведения типов. + Ведь такое приведение типов может произойти там, где мы этого не хотим. + + Чтобы конструктор не использовался для неявного приведения, его нужно пометить с помощью ключевого слова explicit. + В этом примере, конструкторы String(const char* s) и String(int n) помечены как explicit. + Поэтому эти конструкторы не будут использоваться для неявного приведения типов и код в функции main выдаст ошибку. + Но эти конструкторы всё равно можно вызывать явно, вот так: + + String a; + a = String("Dog"); + + print(String("Mouse")); + print(String(10)); +*/ \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/00point/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/00point/main.cpp new file mode 100644 index 0000000..9921eee --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/00point/main.cpp @@ -0,0 +1,62 @@ +/* + Раздельная компиляция. + + В этой части мы вынесем весь код, связанный с нашим классом Point в отдельные файлы. + А также скомпилируем отдельно код, относящийся к нашему классу Point. + + Это будет проделано в следующий примерах, а пока тут просто лежит код + класса Point из предыдущих частей. +*/ + + +#include +#include +#include +using std::cout, std::endl; + + +struct Point +{ + float x, y; + + Point operator+(Point b) const + { + Point result = {x + b.x, y + b.y}; + return result; + } + + float norm() const + { + return std::sqrt(x * x + y * y); + } + + Point operator*(float k) const + { + Point result = {k * x, k * y}; + return result; + } + + void normalize() + { + float normv = norm(); + x /= normv; + y /= normv; + } +}; + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} + + +int main() +{ + Point a = {7.2, 3.1}; + cout << a.norm() << endl; +} + + + + diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/01point_separate_methods/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/01point_separate_methods/main.cpp new file mode 100644 index 0000000..d55993e --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/01point_separate_methods/main.cpp @@ -0,0 +1,81 @@ +/* + Вынос определений методов вне класса. + + Методы внутри класса можно только объявить, а определить их можно вне класса. + Например, метод norm объявлен внутри класса: + + float norm() const; + + а определён вне класса: + + float Point::norm() const + { + return std::sqrt(x * x + y * y); + } + + + Чтобы компилятор понимал к какому классу относится тот или иной метод, + к его имени вне класса нужно добавить название класса и два двоеточия. + Поэтому метод norm вне класса Point называется как Point::norm. + +*/ + + +#include +#include +#include +using std::cout, std::endl; + + +struct Point +{ + float x, y; + + Point operator+(Point b) const; + float norm() const; + Point operator*(float k) const; + void normalize(); +}; + + +Point Point::operator+(Point b) const +{ + Point result = {x + b.x, y + b.y}; + return result; +} + +float Point::norm() const +{ + return std::sqrt(x * x + y * y); +} + +Point Point::operator*(float k) const +{ + Point result = {k * x, k * y}; + return result; +} + +void Point::normalize() +{ + float normv = norm(); + x /= normv; + y /= normv; +} + + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} + + +int main() +{ + Point a = {7.2, 3.1}; + cout << a.norm() << endl; +} + + + + diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/main.cpp new file mode 100644 index 0000000..1becf58 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/main.cpp @@ -0,0 +1,61 @@ +/* + Перенос кода в заголовочный файл + + В этом примере мы перенесли весь код, связанный с классом Point в отдельный файл point.hpp. + Файл point.hpp подключается к файлу main.cpp с помощью директивы #include в строке: + + #include "point.hpp" + + На самом деле директива #include делает очень простую вещь: она просто берёт всё содержимое + передаваемого ей файла и вставляет это содержимое на место директивы. + То есть в этом примере за место #include "point.hpp" подставится всё содержимое файла point.hpp. + + Так как директива #include уже сама вставила файл point.hpp в файл main.cpp, то дополнительно + указывать файл point.hpp при компиляции не нужно. Скомпилировать этот пример можно так: + + g++ main.cpp + + + Стандартные библиотеки типа iostream подключаются так же. То есть где-то в системе, в какой-то папке + хранится стандартная библиотека C++ и, соответственно, есть файл под название iostream (без расширения). + Этот файл и подставляется за место строки #include . + Чтобы посмотреть в каких папках компилятор ищет файлы стандартной библиотеки можно скомпилировать программу так: + + g++ -v main.cpp + + Он напечатает множество информации о компиляции, в числе прочего пути где происходит поиск при исполнении #include. + Вы могли заметить, что стандартные библиотеки в директиве #include пишутся в треугольных скобочках, а нашу + библиотеку point.hpp мы написали в двойных кавычках. В чём разница между этими вариантами? + На самом деле разница лишь в том, в каких папках компилятор ищет данные файлы. + Если мы пишем библиотеку в треугольных скобках, то компилятор ищет её в папках стандартной библиотеки. + Если мы пишем библиотеку в кавычках, то компилятор ищет её в папках текущей директории. + + + + Защита от двойного включения + + Используя директивы #include, очень легко включить один и тот же файл 2 и более раз. + Например, в этом примере файл iostream включается 2 раза: один раз непосредственно в файле main.cpp, а второй раз + он включится после того, как включиться файл point.hpp. Внутри файла point.hpp тоже есть #include . + Если не предпринимать никаких действий, то произойдёт ошибка, так как одинаковые функции и классы + будут повторяться в программе несколько раз. + + Чтобы защититься от этой проблемы нужно в начале заголовочного файла написать директиву + + #pragma once + + Таким образом компилятор будет понимать, что вы не хотите включать файл более одного раза и включит только одну копию файла. + Эта директива была использовани и в файле point.hpp. +*/ + + +#include +#include "point.hpp" + +using std::cout, std::endl; + +int main() +{ + Point a = {7.2, 3.1}; + cout << a.norm() << endl; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/point.hpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/point.hpp new file mode 100644 index 0000000..f92184c --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/point.hpp @@ -0,0 +1,39 @@ +#pragma once +#include +#include +#include + +struct Point +{ + float x, y; + + Point operator+(Point b) const + { + Point result = {x + b.x, y + b.y}; + return result; + } + + float norm() const + { + return std::sqrt(x * x + y * y); + } + + Point operator*(float k) const + { + Point result = {k * x, k * y}; + return result; + } + + void normalize() + { + float normv = norm(); + x /= normv; + y /= normv; + } +}; + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/main.cpp new file mode 100644 index 0000000..3d5c875 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/main.cpp @@ -0,0 +1,17 @@ +/* + Всё что относится к классу Point мы перенесли в отдельный файл point.hpp. + А также мы разделили объявления и определения методов в файле point.hpp. +*/ + +#include +#include +#include +#include "point.hpp" + +using std::cout, std::endl; + +int main() +{ + Point a = {7.2, 3.1}; + cout << a.norm() << endl; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/point.hpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/point.hpp new file mode 100644 index 0000000..e60bfbe --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/point.hpp @@ -0,0 +1,45 @@ +#pragma once +#include + + +struct Point +{ + float x, y; + + Point operator+(Point b) const; + float norm() const; + Point operator*(float k) const; + void normalize(); +}; + + +Point Point::operator+(Point b) const +{ + Point result = {x + b.x, y + b.y}; + return result; +} + +float Point::norm() const +{ + return std::sqrt(x * x + y * y); +} + +Point Point::operator*(float k) const +{ + Point result = {k * x, k * y}; + return result; +} + +void Point::normalize() +{ + float normv = norm(); + x /= normv; + y /= normv; +} + + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/main.cpp new file mode 100644 index 0000000..926aecf --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/main.cpp @@ -0,0 +1,40 @@ +/* + Раздельная компиляция + + Теперь мы разделим объявления и определения всех методов класса Point. + Все объявления класса Point поместим в файл point.hpp, а определения методов в файл point.cpp. + Таким образом у нас получилось 2 компилируемых файла: main.cpp и point.cpp и 1 заголовочный файл point.hpp. + + При этом заголовочный файл point.hpp должен подключаться везде, где используется класс Point. + То есть в данном случае он должен подключаться и в файл main.cpp и в файл point.cpp. + + + Для компиляции программы нужно указать компилятору на все компилируемые файлы вот так: + + g++ main.cpp point.cpp + + Если это не сделать и скомпилировать только файл main.cpp, то возникнет ошибка undefined reference to norm(). + Грубо говоря программа будет знать, что есть класс Point и знать его методы (так как это всё описано в point.hpp), + но любые попытки вызвать эти методы будут приводить к ошибке, так как они не были скомпилированы. + + + Преемущество раздельной компиляции заключается в том, что компилировать разные .cpp файлы можно поотдельности. + Представьте, что у вас огромный проект, содержащий тысячи файлов и миллионы строк кода. Такой проект может компилироваться часами. + Теперь вы сделали небольшое изменение в одном файле этого проекта. Если бы нельзя было бы компилировать файлы поотдельности, + то после любого изменения вам бы пришлось компилировать весь проект заново и ждать часы пока компиляция закончится. + К счастью, .cpp файлы можно компилировать поотдельности и, если вы сделали изменение в одном файле, то скомпилировать + потребуется только тот файл, который вы изменили. +*/ + + + +#include +#include "point.hpp" + +using std::cout, std::endl; + +int main() +{ + Point a = {7.2, 3.1}; + cout << a.norm() << endl; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.cpp new file mode 100644 index 0000000..143dd83 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.cpp @@ -0,0 +1,35 @@ +#include +#include +#include +#include "point.hpp" + +Point Point::operator+(Point b) const +{ + Point result = {x + b.x, y + b.y}; + return result; +} + +float Point::norm() const +{ + return std::sqrt(x * x + y * y); +} + +Point Point::operator*(float k) const +{ + Point result = {k * x, k * y}; + return result; +} + +void Point::normalize() +{ + float normv = norm(); + x /= normv; + y /= normv; +} + + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.hpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.hpp new file mode 100644 index 0000000..1e48146 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.hpp @@ -0,0 +1,15 @@ +#pragma once +#include + + +struct Point +{ + float x, y; + + Point operator+(Point b) const; + float norm() const; + Point operator*(float k) const; + void normalize(); +}; + +std::ostream& operator<<(std::ostream& out, Point a); diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/main.cpp new file mode 100644 index 0000000..d248d06 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/main.cpp @@ -0,0 +1,30 @@ +/* + Пространства имён + + + Имя Point достаточно распространённое и есть очень большая вероятность того, что при подключении нескольких библиотек + в некоторых из них тоже будет класс с именем Point. Конечно, если ничего не предпринять, это приведёт к ошибке. + + Чтобы избежать ошибок, связанных с конфликтами имён, положим весь код нашего класса Point в пространство имён mipt. + Для этого обернём наш код в файлах point.hpp и point.cpp + + namespace mipt + { + ... + } + + Теперь наш класс Point будет лежать в пространстве имён mipt. + Для его использования вне пространства имён mipt нужно писать mipt::Point (ну либо использовать using mipt::Point;) +*/ + + +#include +#include "point.hpp" + +using std::cout, std::endl; + +int main() +{ + mipt::Point a = {7.2, 3.1}; + cout << a.norm() << endl; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.cpp new file mode 100644 index 0000000..7a3ade1 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +#include "point.hpp" + +namespace mipt +{ + +Point Point::operator+(Point b) const +{ + Point result = {x + b.x, y + b.y}; + return result; +} + +float Point::norm() const +{ + return std::sqrt(x * x + y * y); +} + +Point Point::operator*(float k) const +{ + Point result = {k * x, k * y}; + return result; +} + +void Point::normalize() +{ + float normv = norm(); + x /= normv; + y /= normv; +} + + +std::ostream& operator<<(std::ostream& out, Point a) +{ + out << std::setprecision(2) << "(" << a.x << ", " << a.y << ")"; + return out; +} + +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.hpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.hpp new file mode 100644 index 0000000..4f0944a --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.hpp @@ -0,0 +1,20 @@ +#pragma once +#include + + +namespace mipt +{ + +struct Point +{ + float x, y; + + Point operator+(Point b) const; + float norm() const; + Point operator*(float k) const; + void normalize(); +}; + +std::ostream& operator<<(std::ostream& out, Point a); + +} diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string/main.cpp new file mode 100644 index 0000000..414a000 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string/main.cpp @@ -0,0 +1,265 @@ +/* + В данной программе содержится класс String, написанный нами в одной из предыдущих частей. + + Задачи: + + 1) Вынесите класс String в отдельный заголовочный файл string.hpp и скомпилируйте программу. + + + 2) Вынесите объявления методов класса String в заголовочный файл string.hpp, а определения + методов в компилируемый файл string.cpp. Скомпилируйте программу. + + + 3) Вынесите объявления методов класса String в заголовочный файл string.hpp, а определения + методов в компилируемый файл string.cpp. А также поместите весь код класса String в пространство имён mipt. + Скомпилируйте программу. +*/ + + +#include +#include + + +class String +{ +private: + + std::size_t mSize; + std::size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + std::size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + String(std::size_t n, char a) + { + mSize = n; + mCapacity = n + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; i < mSize; ++i) + mpData[i] = a; + mpData[mSize] = '\0'; + } + + ~String() + { + std::free(mpData); + } + + void reserve(std::size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; + } + + + void resize(std::size_t size) + { + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (std::size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + for (std::size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (std::size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + String& operator+=(const String& right) + { + *this = *this + right; + return *this; + } + + bool operator==(const String& right) const + { + if (mSize != right.mSize) + return false; + + std::size_t i = 0; + while (i < mSize && mpData[i] == right.mpData[i]) + i++; + + return i == mSize; + } + + bool operator<(const String& right) const + { + std::size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] < right.mpData[i]; + } + + bool operator<=(const String& right) const + { + std::size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] <= right.mpData[i]; + } + + bool operator!=(const String& right) const + { + return !(*this == right); + } + + bool operator>(const String& right) const + { + return !(*this <= right); + } + + bool operator>=(const String& right) const + { + return !(*this < right); + } + + char& operator[](std::size_t i) + { + return mpData[i]; + } + + char& at(std::size_t i) + { + if (i >= mSize) + { + std::cout << "Error! Index is out of bounds." << std::endl; + std::exit(1); + } + return mpData[i]; + } + + void clear() + { + std::free(mpData); + + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + mpData[0] = '\0'; + } + + void addCharacter(char c) + { + if (mSize + 1 == mCapacity) + reserve(2 * mCapacity); + + mpData[mSize] = c; + resize(mSize + 1); + } + + + std::size_t getSize() const {return mSize;} + std::size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& out, const String& s) +{ + out << s.cStr(); + return out; +} + +std::istream& operator>>(std::istream& in, String& s) +{ + s.clear(); + while (true) + { + char x = in.get(); + if (x == ' ' || x == '\n' || x == '\t') + break; + s.addCharacter(x); + } + return in; +} + + +int main() +{ + String a = "Mouse"; + String b; + std::cin >> b; + String c = b; + + if (a + c == "MouseLion") + std::cout << "Yes" << std::endl; + else + std::cout << "No" << std::endl; + + + if (a > "Mice") + std::cout << "Yes" << std::endl; + else + std::cout << "No" << std::endl; + + + c[0] = 'P'; + std::cout << c << std::endl; + + c += a; + std::cout << c << std::endl; + + c = c + String(10, 'q'); + std::cout << c << std::endl; +} + + + diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/main.cpp new file mode 100644 index 0000000..3a98561 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/main.cpp @@ -0,0 +1,37 @@ +#include +#include +#include "string.hpp" + +using std::cout, std::cin, std::endl; + +int main() +{ + String a = "Mouse"; + String b; + cin >> b; + String c = b; + + if (a + c == "MouseLion") + cout << "Yes" << endl; + else + cout << "No" << endl; + + + if (a > "Mice") + cout << "Yes" << endl; + else + cout << "No" << endl; + + + c[0] = 'P'; + cout << c << endl; + + c += a; + cout << c << endl; + + c = c + String(10, 'q'); + cout << c << endl; +} + + + diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/string.hpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/string.hpp new file mode 100644 index 0000000..c082dd6 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/string.hpp @@ -0,0 +1,214 @@ +#include +#include + + +class String +{ +private: + + std::size_t mSize; + std::size_t mCapacity; + char* mpData; + +public: + + String(const char* str) + { + std::size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + String(std::size_t n, char a) + { + mSize = n; + mCapacity = n + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; i < mSize; ++i) + mpData[i] = a; + mpData[mSize] = '\0'; + } + + ~String() + { + std::free(mpData); + } + + void reserve(std::size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; + } + + + void resize(std::size_t size) + { + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; + } + + + String& operator=(const String& right) + { + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (std::size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + for (std::size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (std::size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; + } + + String& operator+=(const String& right) + { + *this = *this + right; + return *this; + } + + bool operator==(const String& right) const + { + if (mSize != right.mSize) + return false; + + std::size_t i = 0; + while (i < mSize && mpData[i] == right.mpData[i]) + i++; + + return i == mSize; + } + + bool operator<(const String& right) const + { + std::size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] < right.mpData[i]; + } + + bool operator<=(const String& right) const + { + std::size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] <= right.mpData[i]; + } + + bool operator!=(const String& right) const + { + return !(*this == right); + } + + bool operator>(const String& right) const + { + return !(*this <= right); + } + + bool operator>=(const String& right) const + { + return !(*this < right); + } + + char& operator[](std::size_t i) + { + return mpData[i]; + } + + char& at(std::size_t i) + { + if (i >= mSize) + { + std::cout << "Error! Index is out of bounds." << std::endl; + std::exit(1); + } + return mpData[i]; + } + + void clear() + { + std::free(mpData); + + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + mpData[0] = '\0'; + } + + void addCharacter(char c) + { + if (mSize + 1 == mCapacity) + reserve(2 * mCapacity); + + mpData[mSize] = c; + resize(mSize + 1); + } + + + std::size_t getSize() const {return mSize;} + std::size_t getCapacity() const {return mCapacity;} + const char* cStr() const {return mpData;} +}; + + +std::ostream& operator<<(std::ostream& out, const String& s) +{ + out << s.cStr(); + return out; +} + +std::istream& operator>>(std::istream& in, String& s) +{ + s.clear(); + while (true) + { + char x = in.get(); + if (x == ' ' || x == '\n' || x == '\t') + break; + s.addCharacter(x); + } + return in; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/main.cpp new file mode 100644 index 0000000..19996c2 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/main.cpp @@ -0,0 +1,39 @@ +/* + Компиляция: + + g++ main.cpp string.cpp + +*/ + +#include +#include "string.hpp" +using std::cout, std::cin, std::endl; + +int main() +{ + String a = "Mouse"; + String b; + cin >> b; + String c = b; + + if (a + c == "MouseLion") + cout << "Yes" << endl; + else + cout << "No" << endl; + + + if (a > "Mice") + cout << "Yes" << endl; + else + cout << "No" << endl; + + + c[0] = 'P'; + cout << c << endl; + + c += a; + cout << c << endl; + + c = c + String(10, 'q'); + cout << c << endl; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.cpp new file mode 100644 index 0000000..f685590 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.cpp @@ -0,0 +1,204 @@ +#include +#include +#include "string.hpp" + + +String::String(const char* str) +{ + std::size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; +} + +String::String() : String("") {} +String::String(const String& s) : String(s.cStr()) {} + +String::String(std::size_t n, char a) +{ + mSize = n; + mCapacity = n + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; i < mSize; ++i) + mpData[i] = a; + mpData[mSize] = '\0'; +} + +String::~String() +{ + std::free(mpData); +} + +void String::reserve(std::size_t capacity) +{ + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; +} + + +void String::resize(std::size_t size) +{ + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; +} + + +String& String::operator=(const String& right) +{ + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (std::size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; +} + + +String String::operator+(const String& b) +{ + String result; + result.resize(mSize + b.mSize); + + for (std::size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (std::size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; +} + +String& String::operator+=(const String& right) +{ + *this = *this + right; + return *this; +} + +bool String::operator==(const String& right) const +{ + if (mSize != right.mSize) + return false; + + std::size_t i = 0; + while (i < mSize && mpData[i] == right.mpData[i]) + i++; + + return i == mSize; +} + +bool String::operator<(const String& right) const +{ + std::size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] < right.mpData[i]; +} + +bool String::operator<=(const String& right) const +{ + std::size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] <= right.mpData[i]; +} + +bool String::operator!=(const String& right) const +{ + return !(*this == right); +} + +bool String::operator>(const String& right) const +{ + return !(*this <= right); +} + +bool String::operator>=(const String& right) const +{ + return !(*this < right); +} + +char& String::operator[](std::size_t i) +{ + return mpData[i]; +} + +char& String::at(std::size_t i) +{ + if (i >= mSize) + { + std::cout << "Error! Index is out of bounds." << std::endl; + std::exit(1); + } + return mpData[i]; +} + +void String::clear() +{ + std::free(mpData); + + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + mpData[0] = '\0'; +} + +void String::addCharacter(char c) +{ + if (mSize + 1 == mCapacity) + reserve(2 * mCapacity); + + mpData[mSize] = c; + resize(mSize + 1); +} + + +std::size_t String::getSize() const {return mSize;} +std::size_t String::getCapacity() const {return mCapacity;} +const char* String::cStr() const {return mpData;} + + +std::ostream& operator<<(std::ostream& out, const String& s) +{ + out << s.cStr(); + return out; +} + +std::istream& operator>>(std::istream& in, String& s) +{ + s.clear(); + while (true) + { + char x = in.get(); + if (x == ' ' || x == '\n' || x == '\t') + break; + s.addCharacter(x); + } + return in; +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.hpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.hpp new file mode 100644 index 0000000..3f87a04 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.hpp @@ -0,0 +1,51 @@ +#pragma once +#include +#include + + +class String +{ +private: + + std::size_t mSize; + std::size_t mCapacity; + char* mpData; + +public: + + String(const char* str); + + String(); + String(const String& s); + + String(std::size_t n, char a); + ~String(); + + void reserve(std::size_t capacity); + void resize(std::size_t size); + + String& operator=(const String& right); + String operator+(const String& b); + String& operator+=(const String& right); + + bool operator==(const String& right) const; + bool operator<(const String& right) const; + bool operator<=(const String& right) const; + bool operator!=(const String& right) const; + bool operator>(const String& right) const; + bool operator>=(const String& right) const; + + char& operator[](std::size_t i); + char& at(std::size_t i); + + void clear(); + void addCharacter(char c); + + std::size_t getSize() const; + std::size_t getCapacity() const; + const char* cStr() const; +}; + + +std::ostream& operator<<(std::ostream& out, const String& s); +std::istream& operator>>(std::istream& in, String& s); diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/main.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/main.cpp new file mode 100644 index 0000000..ccd3472 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/main.cpp @@ -0,0 +1,32 @@ +#include +#include "string.hpp" +using std::cout, std::cin, std::endl; + +int main() +{ + mipt::String a = "Mouse"; + mipt::String b; + cin >> b; + mipt::String c = b; + + if (a + c == "MouseLion") + cout << "Yes" << endl; + else + cout << "No" << endl; + + + if (a > "Mice") + cout << "Yes" << endl; + else + cout << "No" << endl; + + + c[0] = 'P'; + cout << c << endl; + + c += a; + cout << c << endl; + + c = c + mipt::String(10, 'q'); + cout << c << endl; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.cpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.cpp new file mode 100644 index 0000000..bdf2abf --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.cpp @@ -0,0 +1,207 @@ +#include +#include +#include "string.hpp" + +namespace mipt { + +String::String(const char* str) +{ + std::size_t i = 0; + while (str[i] != '\0') + i++; + mSize = i; + mCapacity = i + 1; + + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; str[i]; i++) + mpData[i] = str[i]; + mpData[mSize] = '\0'; +} + +String::String() : String("") {} +String::String(const String& s) : String(s.cStr()) {} + +String::String(std::size_t n, char a) +{ + mSize = n; + mCapacity = n + 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; i < mSize; ++i) + mpData[i] = a; + mpData[mSize] = '\0'; +} + +String::~String() +{ + std::free(mpData); +} + +void String::reserve(std::size_t capacity) +{ + if (capacity <= mCapacity) + return; + + mCapacity = capacity; + char* newData = (char*)std::malloc(sizeof(char) * mCapacity); + + for (std::size_t i = 0; i < mSize; ++i) + newData[i] = mpData[i]; + newData[mSize] = '\0'; + + std::free(mpData); + mpData = newData; +} + + +void String::resize(std::size_t size) +{ + reserve(size + 1); + mSize = size; + mpData[mSize] = '\0'; +} + + +String& String::operator=(const String& right) +{ + if (this == &right) + return *this; + + mSize = right.mSize; + resize(mSize); + + for (std::size_t i = 0; i <= mSize; ++i) + mpData[i] = right.mpData[i]; + + return *this; +} + + +String String::operator+(const String& b) +{ + String result; + result.resize(mSize + b.mSize); + + for (std::size_t i = 0; i < mSize; ++i) + result.mpData[i] = mpData[i]; + + for (std::size_t i = 0; i < b.mSize; ++i) + result.mpData[mSize + i] = b.mpData[i]; + + result.mpData[result.mSize] = '\0'; + + return result; +} + +String& String::operator+=(const String& right) +{ + *this = *this + right; + return *this; +} + +bool String::operator==(const String& right) const +{ + if (mSize != right.mSize) + return false; + + std::size_t i = 0; + while (i < mSize && mpData[i] == right.mpData[i]) + i++; + + return i == mSize; +} + +bool String::operator<(const String& right) const +{ + std::size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] < right.mpData[i]; +} + +bool String::operator<=(const String& right) const +{ + std::size_t i = 0; + while (i < mSize && i < right.mSize && mpData[i] == right.mpData[i]) + i++; + + return mpData[i] <= right.mpData[i]; +} + +bool String::operator!=(const String& right) const +{ + return !(*this == right); +} + +bool String::operator>(const String& right) const +{ + return !(*this <= right); +} + +bool String::operator>=(const String& right) const +{ + return !(*this < right); +} + +char& String::operator[](std::size_t i) +{ + return mpData[i]; +} + +char& String::at(std::size_t i) +{ + if (i >= mSize) + { + std::cout << "Error! Index is out of bounds." << std::endl; + std::exit(1); + } + return mpData[i]; +} + +void String::clear() +{ + std::free(mpData); + + mSize = 0; + mCapacity = 1; + mpData = (char*)std::malloc(sizeof(char) * mCapacity); + mpData[0] = '\0'; +} + +void String::addCharacter(char c) +{ + if (mSize + 1 == mCapacity) + reserve(2 * mCapacity); + + mpData[mSize] = c; + resize(mSize + 1); +} + + +std::size_t String::getSize() const {return mSize;} +std::size_t String::getCapacity() const {return mCapacity;} +const char* String::cStr() const {return mpData;} + + +std::ostream& operator<<(std::ostream& out, const String& s) +{ + out << s.cStr(); + return out; +} + +std::istream& operator>>(std::istream& in, String& s) +{ + s.clear(); + while (true) + { + char x = in.get(); + if (x == ' ' || x == '\n' || x == '\t') + break; + s.addCharacter(x); + } + return in; +} + +} \ No newline at end of file diff --git a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.hpp b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.hpp new file mode 100644 index 0000000..ca0d683 --- /dev/null +++ b/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.hpp @@ -0,0 +1,54 @@ +#pragma once +#include +#include + +namespace mipt { + +class String +{ +private: + + std::size_t mSize; + std::size_t mCapacity; + char* mpData; + +public: + + String(const char* str); + + String(); + String(const String& s); + + String(std::size_t n, char a); + ~String(); + + void reserve(std::size_t capacity); + void resize(std::size_t size); + + String& operator=(const String& right); + String operator+(const String& b); + String& operator+=(const String& right); + + bool operator==(const String& right) const; + bool operator<(const String& right) const; + bool operator<=(const String& right) const; + bool operator!=(const String& right) const; + bool operator>(const String& right) const; + bool operator>=(const String& right) const; + + char& operator[](std::size_t i); + char& at(std::size_t i); + + void clear(); + void addCharacter(char c); + + std::size_t getSize() const; + std::size_t getCapacity() const; + const char* cStr() const; +}; + + +std::ostream& operator<<(std::ostream& out, const String& s); +std::istream& operator>>(std::istream& in, String& s); + +} \ No newline at end of file diff --git a/seminar02_encapsulation/homework/code/0circle/circle.cpp b/seminar02_encapsulation/homework/code/0circle/circle.cpp new file mode 100644 index 0000000..4d123fe --- /dev/null +++ b/seminar02_encapsulation/homework/code/0circle/circle.cpp @@ -0,0 +1,38 @@ +#include +#include +#include "circle.h" +#include "point.h" + +Circle::Circle(const Point& acenter, float aradius) { + mCenter = acenter; + mRadius = aradius; +} +Circle::Circle() { + mCenter = Point {0, 0}; + mRadius = 1; +} +Circle::Circle(const Circle& circle) { + mCenter = circle.mCenter; + mRadius = circle.mRadius; +} +Point Circle::getCenter() const { return mCenter; } +float Circle::getRadius() const { return mRadius; } + +void Circle::setCenter(const Point& p) { + mCenter = p; +} +void Circle::setRadius(float radius) { + mRadius = radius > 0 ? radius : 0; +} +float Circle::getArea() const { + return mRadius * mRadius * M_PI; +} +float Circle::getDistance(const Point& p) { + return mCenter.distance(p) - mRadius; +} +bool Circle::isColliding(const Circle& c) const { + return (mCenter.distance(c.getCenter()) - (mRadius + c.getRadius()) > 0) ? false : true; +} +void Circle::move(const Point& p) { + mCenter = mCenter + p; +} diff --git a/seminar02_encapsulation/homework/code/0circle/circle.h b/seminar02_encapsulation/homework/code/0circle/circle.h new file mode 100644 index 0000000..d0bc7ee --- /dev/null +++ b/seminar02_encapsulation/homework/code/0circle/circle.h @@ -0,0 +1,23 @@ +#include "point.h" +class Circle +{ +private: + Point mCenter; + float mRadius; + +public: + Circle(const Point& acenter, float aradius); + Circle(); + Circle(const Circle& circle); + Point getCenter() const; + float getRadius() const; + + void setCenter(const Point& p); + void setRadius(float radius); + float getArea() const; + float getDistance(const Point& p); + bool isColliding(const Circle& c) const; + void move(const Point& p); +}; + + diff --git a/seminar02_encapsulation/homework/code/0circle/main.cpp b/seminar02_encapsulation/homework/code/0circle/main.cpp new file mode 100644 index 0000000..0535945 --- /dev/null +++ b/seminar02_encapsulation/homework/code/0circle/main.cpp @@ -0,0 +1,44 @@ +#include +#include "point.h" +#include "circle.h" + +using std::cout, std::endl; + + +int main() +{ + Point p = {7, -1}; + Point q = {-4, 2}; + cout << "Point p = " << p << endl; + cout << "Point q = " << q << endl; + cout << "p + q = " << p + q << endl; + + + Circle a {{4, 1}, 3}; + Circle b; + // b = a; + + cout << "Circle a: center: " << a.getCenter() << " radius: " << a.getRadius() << endl; + cout << "Circle b: center: " << b.getCenter() << " radius: " << b.getRadius() << endl; + + cout << "Area of a = " << a.getArea() << endl; + cout << "Distance from point p to circle a = " << a.getDistance(p) << endl; + + + + cout << "Collisions:" << endl; + if (a.isColliding(b)) + cout << "Yes, a is colliding b" << endl; + else + cout << "No, a isn't colliding b" << endl; + + + + cout << "Moving b by {1, 1}:" << endl; + b.move({1, 1}); + if (a.isColliding(b)) + cout << "Yes, a is colliding b" << endl; + else + cout << "No, a isn't colliding b" << endl; + +} diff --git a/seminar02_encapsulation/homework/code/0circle/point.cpp b/seminar02_encapsulation/homework/code/0circle/point.cpp new file mode 100644 index 0000000..634ac98 --- /dev/null +++ b/seminar02_encapsulation/homework/code/0circle/point.cpp @@ -0,0 +1,82 @@ +#include +#include + +#include "point.h" + + +Point::Point(float x, float y) +{ + mx = x; + my = y; +} + +Point::Point() +{ + mx = 0; + my = 0; +} + + +float Point::getX() const +{ + return mx; +} + +float Point::getY() const +{ + return my; +} + +void Point::setX(float x) +{ + mx = x; +} + +void Point::setY(float y) +{ + my = y; +} + +float Point::norm() const +{ + return std::sqrt(mx * mx + my * my); +} + +void Point::normalize() +{ + float pnorm = norm(); + mx /= pnorm; + my /= pnorm; +} + +float Point::distance(const Point& p) const +{ + return std::sqrt((p.mx - mx) * (p.mx - mx) + (p.my - my) * (p.my - my)); +} + +Point Point::operator+(const Point& right) const +{ + Point result = {mx + right.mx, my + right.my}; + return result; +} + +Point Point::operator*(float a) const +{ + Point result = {a * mx, a * my}; + return result; +} + + + + +Point operator*(float a, const Point& p) +{ + Point result = {a * p.mx, a * p.my}; + return result; +} + +std::ostream& operator<<(std::ostream& left, const Point& right) +{ + left << "(" << right.mx << ", " << right.my << ")"; + return left; +} \ No newline at end of file diff --git a/seminar02_encapsulation/homework/code/0circle/point.h b/seminar02_encapsulation/homework/code/0circle/point.h new file mode 100644 index 0000000..fb50aae --- /dev/null +++ b/seminar02_encapsulation/homework/code/0circle/point.h @@ -0,0 +1,37 @@ +#pragma once + +/* + Поля x и y сделаны приватными + Конкретно для этого класса их можно было сделать публичными + Так как пользователь всё-равно будет иметь доступ без ограничений к этим полям через геттеры и сеттеры + Но они сделаны приватными для образовательных целей +*/ + +class Point +{ +private: + float mx, my; + +public: + + Point(float x, float y); + Point(); + + float getX() const; + float getY() const; + void setX(float x); + void setY(float y); + + void normalize(); + float distance(const Point& p) const; + float norm() const; + Point operator+(const Point& right) const; + Point operator*(float a) const; + + + + friend Point operator*(float a, const Point& p); + friend std::ostream& operator<<(std::ostream& left, const Point& right); +}; + + diff --git a/seminar02_encapsulation/homework/code/1number/number.cpp b/seminar02_encapsulation/homework/code/1number/number.cpp new file mode 100644 index 0000000..55cfbcd --- /dev/null +++ b/seminar02_encapsulation/homework/code/1number/number.cpp @@ -0,0 +1,307 @@ +#include +#include +#include +#include +#include + +/* + Класс Number -- класс положительных больших чисел + + Большое число будет храниться в динамическом массиве data + Каждый элемент этого массива содержит разряд числа в 100-ричной системе счисления + (так как base = 100) + По сути, каждый элемент data хранит две цифры числа в десятичной записи + + Значение 100 для системы счисления выбрано как компромис между + эффективностью и удобством написания программы. + Если выбрать значения базы 10 - то программа будет не так эффективна по памяти + Если выбрать значения базы 256 (максимально эффективное использование памяти для типа char), + то алгоритм печати на экран сильно усложнится + В качестве альтернативы, можно было выбрать базу 1e9, + изменив при этом тип элементов c char на int + + capacity - размер массива data + size - сколько ячеек занимет число в массиве data + size <= capacity + + Для удобства разряды числа хранятся в обратном порядке + Например, число 12345678 соответствует массиву + data = {78, 56, 34, 12} + (это упрощает многие алгоритмы с такими числами) +*/ + + +class Number +{ +private: + static const int base = 100; + std::size_t size; + std::size_t capacity; + char* data; + +public: + + Number(int a) + { +#ifdef _DEBUG_CONSTRUCTOR + std::cout << "(Number constructor " << a << " -> "; +#endif + // Находим размер необходимой памяти под это число + int temp = a; + capacity = 0; + while (temp != 0) + { + temp /= base; + capacity += 1; + } + + // Отдельно обрабатываем случай, когда число равно 0 + if (capacity == 0) + capacity = 1; + + // Выделяем память и записывем число a в массив data + // Например, число 12345678 представится в виде массива [78, 56, 34, 12] + + data = new char[capacity]; + + for (int i = 0; i < capacity; ++i) + { + data[i] = a % base; + a /= base; + } + + // В данном случае размер будет равен вместимости + size = capacity; +#ifdef _DEBUG_CONSTRUCTOR + std::cout << *this << ")" << std::endl; +#endif + } + // Конструктор по умолчанию + Number() : Number(0) {} + // Конструктор копирования + Number(const Number& n) { + size = n.size; + capacity = n.capacity; + data = new char[capacity]; + for (int i = 0; i < size; i++) { + data[i] = n.data[i]; + } + } + Number(const char* str) { + int len = std::strlen(str); + size = (len + len % 2) / 2; + capacity = size; + data = new char[capacity]; + char buf[2]; + for (int i = 0; i < size; i++) { + buf[1] = str[len - 2 * i - 1]; + if (len - 2 * i - 1 > 0) { + buf[0] = str[len - 2 * i - 2]; + } + else { + buf[0] = '0'; + } + data[i] = std::stoi(buf); + } + } + ~Number() + { + delete [] data; + } + Number& operator=(const Number& right) { + capacity = right.capacity; + size = right.size; + data = new char[capacity]; + for (int i = 0; i < size; i++) { + data[i] = right.data[i]; + } + return *this; + } + + Number operator+(const Number& a) { + Number result; + int i; + char carry = 0; + int max_size = size > a.size ? size : a.size; + + result.capacity = max_size + 1; + result.data = new char[capacity]; + + for (i = 0; i < max_size; ++i) { + result.data[i] = (data[i] + a.data[i] + carry) % base; + carry = (data[i] + a.data[i] + carry) / base; + } + + if (carry) { + result.data[i] = carry; + result.size = max_size + 1; + } + else { + result.size = max_size; + } + return result; + } + void operator+=(const Number& a) { + *this = *this + a; + } + + bool isEven() const { + if (data[0] % 2) { + return false; + } + return true; + } + + Number operator*(const Number& right) const { +#ifdef _DEBUG_MUL + std::cout << "arg1=" << *this << "(capacity=" << capacity << ",size=" << size << ")" << " " << "arg2=" << right << "(capacity=" << right.capacity << ",size=" << right.size << ")"<< std::endl; +#endif + int i, j; + int temp; + Number result; + + result.capacity = capacity + right.capacity; + int *carry = (int*)std::calloc(result.capacity, sizeof(int)); + + result.data = (char*)calloc(result.capacity, sizeof(char)); +#ifdef _DEBUG_MUL + std::cout << "carry:[" << carry[0]; + for (int k = 1; k < result.capacity; ++k) { + std::cout << "," << carry[k]; + } + std::cout << "]" << std::endl; +#endif + for (i = 0; i < size; ++i) { + for (j = 0; j < right.size; ++j) { +#ifdef _DEBUG_MUL + std::cout << i + j << ":" << static_cast(result.data[i + j]) << " + " << static_cast(data[i]) << " * " << static_cast(right.data[j]) << " + " << carry[i+j] << std::endl; +#endif + temp = (result.data[i + j] + data[i] * right.data[j] + carry[i + j]); + result.data[i + j] = temp % base; + carry[i + j + 1] += temp / base; + carry[i + j] = 0; + + } + } +#ifdef _DEBUG_MUL + std::cout << "result before applying carry:" << result << std::endl; + std::cout << "carry:[" << carry[0]; + for (int k = 1; k < result.capacity; ++k) { + std::cout << "," << carry[k]; + } + std::cout << "]" << std::endl; +#endif + if (carry[i + j - 1]) { + result.data[i + j - 1] = carry[i + j - 1]; + result.size = i + j; + carry[i + j - 1] = 0; + } + else { + result.size = i + j - 1; + } + +#ifdef _DEBUG_MUL + std::cout << "before correcting capacity, result=" << result << std::endl; +#endif + // correcting capacity + /*char* temp_data = (char *)calloc(result.size, sizeof(char)); + for (i = 0; i < result.size; ++i) { + temp_data[i] = result.data[i]; + } + + free(result.data); + result.capacity = result.size; + result.data = (char*)calloc(result.size,sizeof(char)); + for (i = 0; i < result.size; ++i) { + result.data[i] = temp_data[i]; + } + + free(temp_data);*/ + free(carry); +#ifdef _DEBUG_MUL + std::cout << "return value=" << result << "(capacity=" << result.capacity << ",size=" << result.size << ")" << std::endl << "======" << std::endl; +#endif + return result; + } + void operator*=(const Number& a) { + *this = *this * a; + } + + friend std::ostream& operator<<(std::ostream& stream, const Number& right); + friend int main(); + friend Number factorial(int n); +}; + + + +std::ostream& operator<<(std::ostream& stream, const Number& right) +{ +#ifdef _DEBUG_COUT + stream << "["; + for (std::size_t i = 0; i < right.size; ++i) { + stream << static_cast(right.data[right.size - 2 - i]) << ","; + } + stream << "]"; +#else + // Печатаем самый большой разряд + stream << (int)right.data[right.size - 1]; + + // Печатаем остальные разряды с заполнением нулями до 2-х цифр + // setfill и setw это то же самое, что и в языке C спецификатор %02d + for (std::size_t i = 0; i < right.size - 1; ++i) + stream << std::setfill('0') << std::setw(2) << (int)right.data[right.size - 2 - i]; +#endif + return stream; +} + +Number fib(int n) { + Number a = 0; // F0 + Number b = 1; // F1 + for (int i = 1; i <=n; ++i) { + if (i % 2) { + a += b; + } + else { + b += a; + } + } + if (n % 2) { + return b; + } + return a; +} + +Number factorial(int n) { + Number result{1}; + for (int i = 2; i < n + 1; ++i) { + result = Number(i) * result; + } + return result; +} + +int main() +{ + Number x = Number("25852016738884976640000"); + Number y = Number("24"); + + //char s[3]; + //Number result = "1"; + //for (int i = 1; i < 26; ++i) { + //s = std::to_string(i); + //sprintf(s, "%d", i); + // result = (Number{i} * result); + //} + //x += y; + //Number z = x + y; + //std::cout << fib(1000) << std::endl; + //x = x * Number(24)*Number{25}; + //y = factorial(5); + //std::cout << x << " " << x.capacity << " " << x.size << std::endl; + //std::cout << y << " "<< y.capacity << " " << y.size << std::endl; + // 90405070506200618121707-18-13-05-18-08 + //std::cout << "===" << std::endl << Number(2) * Number(3) << " "<< Number(3) * Number(2) << std::endl; + //std::cout << "5! = " << Number(2) * Number(3) * Number(4) * Number(5) << std::endl; + std::cout << factorial(1000) << std::endl; + //std::cout << Number("620448401733239439360000") * Number(25) << std::endl; +} + diff --git a/seminar02_encapsulation/homework/homework_encapsulation.pdf b/seminar02_encapsulation/homework/homework_encapsulation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..52c019a182baeb7365725b7d046fbe98eda1f8e7 GIT binary patch literal 189682 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

3jyqA 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�n{N|X3> z0HxMorq)3JWRLtW$2!)5E^8{E5n=nZ!y$6paEen+TH)oqJLi)3pt^oq*!CS=u^zjY z8gXrOCD1sXTX&vZNy?_K`i?++OYmFY2HH2pyvJ*_Kiroj^4~?WHT6S<#%i>%kG`0@ zF3yu8U%{lg0T|pmzi#>Pj51D)C}Y{dvNF8*JI4>i1p{uEbb3UvU(BQG zWD_#Kbk!{WD96?>VpYlh@7DIO?OJ_vtw+$dGxK}dAq$I;)};ODa_g=fgM|y=#iS>v zGo8BF56~i;N5@uiQai6%AvP#3k-*$CshupvaoKEod#um}K~IAE(pkYh=+M7bokRo! zBK>B0xgVdH;_t6oRa@i}Lke-e0^hO?UOO@Rm5I&u**f_Gp0<_ zTARHtk3A~APb#3V`&4vyJ!w3qAvNObkBAT5f~2$;ll4R@pAGmh{g3xof7>IhIEsZJ zZ&>ZxTyK0Qm1pf9IN(uj68$o9)r=sKgK9%IYo5k1qr~%>Sn!++=fP|Q%h&(m53O9K z)00x6!`!aSDeK{6{)zh)?e6b+TSY`$_mhGw^v6^Falm=t$bBQZ6ysBUvM9hMhsn%= z#?Q|wISsXW=>)FfJV(R08=qoB{fAgAoswdST3+or&qNCsgJ~5-!ncmv5tK(^>&LER`zir$6=!?zg3ozj36=pWIV~f z*d);Nl^*fy{Df6u4I)5suV~m%vMREE}ty#P&W4u8}>H+oY>?1%deN_>G@l7clvlV zVv=M{sdvDcj}=Zi$exiG=A}yWMHNKq{bAUtoRI_`#Q@y2iO}K2xtM zzCs&`3N5O0Al1tv?BHo=X#P}3uV-L8Wl{a8`Pj`{#t}Idx2R>W^2;7=BzOBfLeXxZ zb37ZX6FMH)=N^P~8t7zZ1G>vp#9H_e6w+E2A`)ng5kUMA!WSANme7K57H-5lu!p}- zlc)LdX8G5(y-;apj5jF^?wPRm8%U+7@AlDyS^5E#w3yae#~C5`cRlTloynAV*F#Iz z)^Vg6cvB<6RtOl3)6@;aR7t4XByMnp^*W5xQ%H?QkmSS-U4ep^EDSXFsx2^diznto zHzkAlW_l)g3l0%l?90`+&wkkK=_QXJt6;xG4KKufFTbz3(65%fB z@;Db;UnEN}KmWR|=V@?~+b7Jr0>_F-fs~cF)cMiLJHyKR3Zvd8H;*M^$%|rU+s-3R z&BsIB>B+oK&wI02KVqfJV1Y1NFBCVSgJ;hsI;{tm`}t*$AWAP`>^Rab=LU`c4}*jM z1tZzrb9Do#-tv9u8U%Cz0pTDNK-JO%?|KvgRBeF{YCs53?WlIo&kqOGgdNS_`%~`b z2mBAv`!g{FI%r=9se|?5V11Z@p*k1_2f;K9Vb={cAaIzbI!qs~fdKx!$P*cDhE z^j~xZ{CjqFvA+=wbhSw&bciPyh{^-` zRzUogAi?0vUB1_d!8Zc9bI>aU&Q4ZJb7;^x*Ia3Gu;Te(<(qHHhl+3$TlUGmtxYCh zkDf(cZAJ$xUpZ@!z5<~CKBP2QaJr-~91^|5 22 -> 11 -> 34 -> 17 -> 52 -> 26 -> 13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 +\end{verbatim} +Последовательность доходит до 1. Вам нужно написать функцию, которая будет по начальному числу находить длину такой последовательности (\texttt{steps}) и максимальное число в этой последовательности(\texttt{max}). Например, для числа $7$, максимальное число в последовательности будет равно $52$, а длина последовательности -- $16$. Напишите программу, которая будет по начальному числу находить длину последовательности и максимальный элемент в ней. + +Тесты для проверки: +\begin{verbatim} +n = 7 steps = 16; max = 52 +n = 256 steps = 8; max = 256 +n = 1117065 steps = 527; max = 2974984576 +n = 4761963248413673697 steps = 2337; max = 9926927712374950744648 + +n = 90560792656972947582439785608972465789628974587264056284658721771 +steps = 1630; +max = 773658021643749360792171137214151494851244403993540980838080564520 +\end{verbatim} +Для решения этой задачи нужно написать оператор сравнения и метод деления на 2 (оператор целочисленного деления можно не писать). +\item \textbf{Раздельная компиляция:} Перенесите объявление класса \texttt{Number} в файл \texttt{number.h}, а определение методов в файл \texttt{number.cpp}. Раздельно скомпилируйте эту программу. +\end{itemize} + +\end{document} \ No newline at end of file diff --git a/seminar02_encapsulation/images/number1.png b/seminar02_encapsulation/images/number1.png new file mode 100644 index 0000000000000000000000000000000000000000..38e585977de87e8f28f9c62fb7cf43f422f43fd0 GIT binary patch literal 25663 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

bsR70HRbvJkkcsJBlg0~j! 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 w+{ybUx53E71S*WlHGy4{Na4ivR!s literal 0 HcmV?d00001 diff --git a/seminar02_encapsulation/images/number1.svg b/seminar02_encapsulation/images/number1.svg new file mode 100644 index 0000000..f1e00e8 --- /dev/null +++ b/seminar02_encapsulation/images/number1.svg @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + 4 + + 5 + size + capacity + data + + + + + + + 78 + 56 + 43 + 12 + + Number + + diff --git a/seminar02_encapsulation/images/sepcompilation.png b/seminar02_encapsulation/images/sepcompilation.png new file mode 100644 index 0000000000000000000000000000000000000000..2586af2e8d6425efe4ca7ccd964817823d4ba48c GIT binary patch literal 311721 zcmeEucQ{;M_ph{XD$K#*ZQo_TIYOLSCuEfLVJabjEo$t@Ek%$ z_79wl?3&J{e}FSnh&6HG*Lf#tu;wM;czenG6Y&4#Hwt=AWMn)Kk3MJI)1_R2lXsnE zb)BL1md>aIQmnCS)$nKGWpFh)dk6RpZbG|)&*t~{W z&hRH=zo&5V0#%yAii&sEpSIE$4K_5guW8z-sAL-h?tNlQN$LORQ^5OApPbVaR}|$h zrQLuCi`Pj}_jV{FM^pxs*Ael>&24U$3A>hV4InE?3CzQv!Es1Gg+VTMdF&&wFSDrh zz-`5L3#24wyYfLA!x><74v;Dg&Tu(9D?fhx0^!xOoMQdbQ2a@rt+gMCIvI!hRQyF>M{8aDZTw#7A ztMTcHB;?C^;nRP}Vjs+%&VsCfy^42aCcIY>LI=)N2>4oJFbc9kgof)}*}f*_PzOiC zz>3Ilp80|_uXUbG*PPqS28^Q2rQyzgX;79%uwrD1%;eNWwBa06GGV3|H{B3XdjCL%^RP|{5tE&UdVty_vR z7R!55yPeh#SKOE}6T@NoACd4VmA2FSbtfQq-?@x=)7NQWH3FTkz`3J(3+^2BMrSxB$9Ea>z-pE_T^pn$Jp0Kn#Z^&Dv`}!+5a}4?9<}H{+pUB(^w@q{==c;10ZS?9-)GPD*)T+ohHtw2Z1bwUoF2JonUMzD4W0%M z@~n6|6!l_K${25M)y`~*|hsT&VH|B)(RE*%Q5Ft z*a%XznJYu8Ie8Q+HOASKNow}0u3H$lENL9`$q8Jj%o#$D62XxT?vO2l(PQFC( z6?o3ph{NqSH8P_EQoH%09DD5(r(^xm&1Ypig4F5U_oGX)<^8{Nb(4KZ6xp&NhK4d@mKE5G{~jOK=cS$a=5 zXA*sZQdhAWw(-haxlgzRiI3byIQbbbwV8zP-j6fDiXA#v!+QCCuSw7Ado<8_-$hdB z^`aw`#UnbckO}0gF}~D7qu$5UBg=ZacylucSt9jmp--bj9#;5$=(D}8J4gsOUi+EG zJ(zB9FtwBN=|w(Qm^KB=vzEd{dJA7t{fN`J0@~MT=Q|yUjN@&WQ?RV9$Nky-4W}

t&tgS}2 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 + + + + + + + + + image/svg+xml + + + + + + + + struct Point { float x, y; float norm() const; void normalize(); Point operator+(const Point& r) const;}; + point.h + + #include <cmath>#include "point.h"float Point::norm() const { return sqrt(x*x + y*y);}void Point::normalize() { float pnorm = norm(); x /= pnorm; y /= pnorm;}Point Point::operator+(const Point& r) const{ Point result = {x + r.x, y + r.y}; return result;} + point.cpp + + #include <iostream>#include "point.h"int main() { Point p = {1, 2}; p.normalize(); std::cout << p.x << " " << p.y << std::endl;} + main.cpp + + diff --git a/seminar02_encapsulation/images/string_base.png b/seminar02_encapsulation/images/string_base.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a018679c77ba4360e32a8e05611e7f2457c90a GIT binary patch literal 27628 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 ZRh#C9BAL??_-8HxWqI|-MY86v{|`k+GVuTa literal 0 HcmV?d00001 diff --git a/seminar02_encapsulation/images/string_base.svg b/seminar02_encapsulation/images/string_base.svg new file mode 100644 index 0000000..dacd891 --- /dev/null +++ b/seminar02_encapsulation/images/string_base.svg @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + E + + l + + e + + p + + h + + a + + n + + t + + \0 + 8 + + String a + size + data + +

`&=Dy$9A|vIi~~4vphk<~z?eN&nq4 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 z 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�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