From 66cefdfd63fc25fc2b4cf4b2009fc7a59f74801e Mon Sep 17 00:00:00 2001 From: nihonium Date: Sat, 22 Oct 2022 18:26:37 +0300 Subject: [PATCH] restructured --- .../code => }/01_myspace/myspace.cpp | 0 .../{homework/code => }/02_cubev/cubev.cpp | 0 .../{homework/code => }/03_cuber/cuber.cpp | 0 .../04_count_letters/count_letters.cpp | 0 .../code => }/05_add_price/add_price.cpp | 0 .../06_is_expensive/is_expensive.cpp | 0 .../{homework/code => }/07_vector3f/main.cpp | 0 .../code => }/07_vector3f/vector3f.h | 0 .../{homework/code => }/08_complex/complex.h | 0 .../code => }/08_complex/complex_image.cpp | 0 .../code => }/08_complex/complex_movie.cpp | 0 .../code => }/08_complex/complex_movie.mp4 | Bin .../code => }/08_complex/complex_test.cpp | 0 .../{homework/code => }/08_complex/julia.cpp | 0 .../08_complex/julia_images/-0.4+0.6i.ppm | Bin .../08_complex/julia_images/-0.7-0.38i.ppm | Bin .../08_complex/julia_images/-0.8+0.16i.ppm | Bin .../08_complex/julia_images/0.28+0.011i.ppm | Bin .../code => }/08_complex/julia_movie.cpp | 0 .../code => }/08_complex/mandelbrot.cpp | 0 .../mandelbrot_images/mandelbrot.ppm | Bin .../classroom_tasks_overload.pdf | Bin 116557 -> 0 bytes .../classroom_tasks_overload.tex | 180 ------- .../code/00namespace/00hello.cpp | 33 -- .../code/00namespace/01namespace.cpp | 48 -- .../code/00namespace/01namespace_solution.cpp | 25 - .../code/00namespace/02struct_type_name.cpp | 24 - .../code/00namespace/03namespace.cpp | 40 -- .../code/00namespace/03namespace_solution.cpp | 36 -- .../code/00namespace/04name_collision.cpp | 60 --- .../code/00namespace/05using.cpp | 78 --- .../code/00namespace/06std_cout.cpp | 65 --- .../code/00namespace/06std_cout_solution.cpp | 16 - .../code/00namespace/07std_using_one_name.cpp | 32 -- .../code/00namespace/08std_cin.cpp | 41 -- .../code/00namespace/08std_cin_solution.cpp | 10 - .../code/00namespace/09cprog.cpp | 42 -- .../code/00namespace/10cprog_with_std.cpp | 37 -- .../classroom_tasks/code/01ref/00ref.cpp | 60 --- .../classroom_tasks/code/01ref/01ref.cpp | 39 -- .../classroom_tasks/code/01ref/02ref.cpp | 43 -- .../code/01ref/03ref_pointer_diff_init.cpp | 49 -- .../code/01ref/04ref_pointer_diff_assign.cpp | 52 -- .../code/01ref/05ref_pointer_diff_arith.cpp | 44 -- .../code/01ref/06ref_restrictions.cpp | 46 -- .../classroom_tasks/code/01ref/07func_ref.cpp | 69 --- .../code/01ref/07func_ref_solution.cpp | 50 -- .../code/01ref/08func_ref_struct.cpp | 81 --- .../code/01ref/08func_ref_struct_solution.cpp | 41 -- .../code/01ref/09by_value_pointer_ref.cpp | 73 --- .../01ref/09by_value_pointer_ref_solution.cpp | 54 -- .../code/01ref/10const_ref.cpp | 97 ---- .../code/01ref/10const_ref2.cpp | 63 --- .../code/01ref/11return_ref.cpp | 50 -- .../code/01ref/12return_ref_local.cpp | 51 -- .../code/01ref/13return_ref_argument.cpp | 39 -- .../code/01ref/14problem_1.cpp | 17 - .../code/01ref/14problem_1_solution.cpp | 16 - .../code/01ref/15problem_2.cpp | 22 - .../code/01ref/15problem_2_solution.cpp | 36 -- .../code/01ref/15problem_3.cpp | 28 - .../code/01ref/15problem_3_solution.cpp | 23 - .../code/02function_overload/00c_functions.c | 61 --- .../02function_overload/01cpp_functions.cpp | 66 --- .../code/02function_overload/02problem.cpp | 30 -- .../02problem_solution.cpp | 53 -- .../code/02function_overload/03problem.cpp | 42 -- .../03problem_solution.cpp | 66 --- .../code/02function_overload/04std.cpp | 17 - .../02function_overload/05ref_overload.cpp | 67 --- .../code/02function_overload/animals.cpp | 30 -- .../00no_operator_overload.cpp | 48 -- .../00no_operator_overload_solution.cpp | 44 -- .../01_operator_overload.cpp | 63 --- .../01_operator_overload_solution.cpp | 50 -- .../03operator_overload/02_operator_unary.cpp | 71 --- .../code/03operator_overload/03bool.cpp | 38 -- .../04_comparison_operators.cpp | 68 --- .../04_comparison_operators_solution.cpp | 110 ---- .../05iostream_overload.cpp | 49 -- .../05iostream_overload_solution.cpp | 63 --- .../06operator_overload.cpp | 52 -- .../code/03operator_overload/setw.cpp | 52 -- .../code/04other/00pointer_cast.cpp | 52 -- .../code/04other/00pointer_cast_solution1.cpp | 13 - .../code/04other/00pointer_cast_solution2.cpp | 17 - .../classroom_tasks/code/04other/01nulptr.cpp | 50 -- .../code/04other/02default_arguments.cpp | 42 -- .../homework/homework_overload.tex | 160 ------ .../{homework => }/homework_overload.pdf | Bin seminar01_overload/images/complexplane.png | Bin 52616 -> 0 bytes seminar01_overload/images/complexplane.svg | 490 ------------------ .../{homework/code => }/0circle/circle.cpp | 0 .../{homework/code => }/0circle/circle.h | 0 .../{homework/code => }/0circle/main.cpp | 0 .../{homework/code => }/0circle/point.cpp | 0 .../{homework/code => }/0circle/point.h | 0 .../{homework/code => }/1number/main.cpp | 0 .../{homework/code => }/1number/number.cpp | 0 .../{homework/code => }/1number/number.h | 0 .../classroom_tasks_encapsulation.pdf | Bin 415103 -> 0 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 ---------- .../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/homework_encapsulation.tex | 202 -------- .../{homework => }/homework_encapsulation.pdf | Bin seminar02_encapsulation/images/number1.png | Bin 25663 -> 0 bytes seminar02_encapsulation/images/number1.svg | 263 ---------- .../images/sepcompilation.png | Bin 311721 -> 0 bytes .../images/sepcompilation.svg | 338 ------------ .../images/string_base.png | Bin 27628 -> 0 bytes .../images/string_base.svg | 344 ------------ .../01_letter_case_switch/main.cpp | 22 + .../01_letter_case_switch/main.cpp~ | 19 + seminar03_initialization/02_repeat/a.out~ | Bin 0 -> 28401 bytes seminar03_initialization/02_repeat/main.cpp | 48 ++ seminar03_initialization/02_repeat/main.cpp~ | 38 ++ .../03_string_multiplication/main.cpp | 24 + .../04_truncate_to_dot/main.cpp | 22 + .../05_string_sum/main.cpp | 35 ++ seminar03_initialization/06_new/main.cpp | 34 ++ .../08_stringview/main.cpp | 16 + .../08_stringview/miptstring.cpp | 454 ++++++++-------- .../08_stringview/miptstringview.cpp | 59 +++ .../homework_initialization.pdf | Bin 0 -> 143704 bytes 204 files changed, 538 insertions(+), 13662 deletions(-) rename seminar01_overload/{homework/code => }/01_myspace/myspace.cpp (100%) rename seminar01_overload/{homework/code => }/02_cubev/cubev.cpp (100%) rename seminar01_overload/{homework/code => }/03_cuber/cuber.cpp (100%) rename seminar01_overload/{homework/code => }/04_count_letters/count_letters.cpp (100%) rename seminar01_overload/{homework/code => }/05_add_price/add_price.cpp (100%) rename seminar01_overload/{homework/code => }/06_is_expensive/is_expensive.cpp (100%) rename seminar01_overload/{homework/code => }/07_vector3f/main.cpp (100%) rename seminar01_overload/{homework/code => }/07_vector3f/vector3f.h (100%) rename seminar01_overload/{homework/code => }/08_complex/complex.h (100%) rename seminar01_overload/{homework/code => }/08_complex/complex_image.cpp (100%) rename seminar01_overload/{homework/code => }/08_complex/complex_movie.cpp (100%) rename seminar01_overload/{homework/code => }/08_complex/complex_movie.mp4 (100%) rename seminar01_overload/{homework/code => }/08_complex/complex_test.cpp (100%) rename seminar01_overload/{homework/code => }/08_complex/julia.cpp (100%) rename seminar01_overload/{homework/code => }/08_complex/julia_images/-0.4+0.6i.ppm (100%) rename seminar01_overload/{homework/code => }/08_complex/julia_images/-0.7-0.38i.ppm (100%) rename seminar01_overload/{homework/code => }/08_complex/julia_images/-0.8+0.16i.ppm (100%) rename seminar01_overload/{homework/code => }/08_complex/julia_images/0.28+0.011i.ppm (100%) rename seminar01_overload/{homework/code => }/08_complex/julia_movie.cpp (100%) rename seminar01_overload/{homework/code => }/08_complex/mandelbrot.cpp (100%) rename seminar01_overload/{homework/code => }/08_complex/mandelbrot_images/mandelbrot.ppm (100%) delete mode 100644 seminar01_overload/classroom_tasks/classroom_tasks_overload.pdf delete mode 100644 seminar01_overload/classroom_tasks/classroom_tasks_overload.tex delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/00hello.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/01namespace.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/01namespace_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/02struct_type_name.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/03namespace.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/03namespace_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/04name_collision.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/05using.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/06std_cout.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/06std_cout_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/07std_using_one_name.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/08std_cin.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/08std_cin_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/09cprog.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/00namespace/10cprog_with_std.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/00ref.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/01ref.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/02ref.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/03ref_pointer_diff_init.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/04ref_pointer_diff_assign.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/05ref_pointer_diff_arith.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/06ref_restrictions.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/07func_ref.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/07func_ref_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/10const_ref.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/10const_ref2.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/11return_ref.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/12return_ref_local.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/13return_ref_argument.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/14problem_1.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/14problem_1_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/15problem_2.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/15problem_2_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/15problem_3.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/01ref/15problem_3_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/00c_functions.c delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/01cpp_functions.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/02problem.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/02problem_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/03problem.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/03problem_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/04std.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/05ref_overload.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/02function_overload/animals.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/02_operator_unary.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/03bool.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload_solution.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/06operator_overload.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/03operator_overload/setw.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/04other/00pointer_cast.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution1.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution2.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/04other/01nulptr.cpp delete mode 100644 seminar01_overload/classroom_tasks/code/04other/02default_arguments.cpp delete mode 100644 seminar01_overload/homework/homework_overload.tex rename seminar01_overload/{homework => }/homework_overload.pdf (100%) delete mode 100644 seminar01_overload/images/complexplane.png delete mode 100644 seminar01_overload/images/complexplane.svg rename seminar02_encapsulation/{homework/code => }/0circle/circle.cpp (100%) rename seminar02_encapsulation/{homework/code => }/0circle/circle.h (100%) rename seminar02_encapsulation/{homework/code => }/0circle/main.cpp (100%) rename seminar02_encapsulation/{homework/code => }/0circle/point.cpp (100%) rename seminar02_encapsulation/{homework/code => }/0circle/point.h (100%) rename seminar02_encapsulation/{homework/code => }/1number/main.cpp (100%) rename seminar02_encapsulation/{homework/code => }/1number/number.cpp (100%) rename seminar02_encapsulation/{homework/code => }/1number/number.h (100%) delete mode 100644 seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.pdf delete mode 100644 seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.tex delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/00oop.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/01book.c delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/02book.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/03book_encapsulation.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/05this_pointer.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/06constructor.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/06constructor_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/07public_private.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/09class.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/0book/10m.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/00point.c delete mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/00point_solution.c delete mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/01point.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/01point_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/02operator_order.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/02operator_order_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/1point/03setters_getters.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/00string.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/01constructor.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/01constructor_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/02delegated_constructor.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/03destructor.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution1.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution2.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/12full_string.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/13problem_init_vs_assignment.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton_solution.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution1.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution2.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/00special_methods.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/01special_methods.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/02default_constructor_remark.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/03delete_keyword.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/04implicit_cast_constructor.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/3default_methods/05explicit.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/00point/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/01point_separate_methods/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/point.hpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/point.hpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.hpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.hpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/string.hpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.hpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/main.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.cpp delete mode 100644 seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.hpp delete mode 100644 seminar02_encapsulation/homework/homework_encapsulation.tex rename seminar02_encapsulation/{homework => }/homework_encapsulation.pdf (100%) delete mode 100644 seminar02_encapsulation/images/number1.png delete mode 100644 seminar02_encapsulation/images/number1.svg delete mode 100644 seminar02_encapsulation/images/sepcompilation.png delete mode 100644 seminar02_encapsulation/images/sepcompilation.svg delete mode 100644 seminar02_encapsulation/images/string_base.png delete mode 100644 seminar02_encapsulation/images/string_base.svg create mode 100644 seminar03_initialization/01_letter_case_switch/main.cpp create mode 100644 seminar03_initialization/01_letter_case_switch/main.cpp~ create mode 100644 seminar03_initialization/02_repeat/a.out~ create mode 100644 seminar03_initialization/02_repeat/main.cpp create mode 100644 seminar03_initialization/02_repeat/main.cpp~ create mode 100644 seminar03_initialization/03_string_multiplication/main.cpp create mode 100644 seminar03_initialization/04_truncate_to_dot/main.cpp create mode 100644 seminar03_initialization/05_string_sum/main.cpp create mode 100644 seminar03_initialization/06_new/main.cpp create mode 100644 seminar03_initialization/08_stringview/main.cpp rename seminar02_encapsulation/classroom_tasks/code/2string/12full_string_solution.cpp => seminar03_initialization/08_stringview/miptstring.cpp (68%) create mode 100644 seminar03_initialization/08_stringview/miptstringview.cpp create mode 100644 seminar03_initialization/homework_initialization.pdf diff --git a/seminar01_overload/homework/code/01_myspace/myspace.cpp b/seminar01_overload/01_myspace/myspace.cpp similarity index 100% rename from seminar01_overload/homework/code/01_myspace/myspace.cpp rename to seminar01_overload/01_myspace/myspace.cpp diff --git a/seminar01_overload/homework/code/02_cubev/cubev.cpp b/seminar01_overload/02_cubev/cubev.cpp similarity index 100% rename from seminar01_overload/homework/code/02_cubev/cubev.cpp rename to seminar01_overload/02_cubev/cubev.cpp diff --git a/seminar01_overload/homework/code/03_cuber/cuber.cpp b/seminar01_overload/03_cuber/cuber.cpp similarity index 100% rename from seminar01_overload/homework/code/03_cuber/cuber.cpp rename to seminar01_overload/03_cuber/cuber.cpp diff --git a/seminar01_overload/homework/code/04_count_letters/count_letters.cpp b/seminar01_overload/04_count_letters/count_letters.cpp similarity index 100% rename from seminar01_overload/homework/code/04_count_letters/count_letters.cpp rename to seminar01_overload/04_count_letters/count_letters.cpp diff --git a/seminar01_overload/homework/code/05_add_price/add_price.cpp b/seminar01_overload/05_add_price/add_price.cpp similarity index 100% rename from seminar01_overload/homework/code/05_add_price/add_price.cpp rename to seminar01_overload/05_add_price/add_price.cpp diff --git a/seminar01_overload/homework/code/06_is_expensive/is_expensive.cpp b/seminar01_overload/06_is_expensive/is_expensive.cpp similarity index 100% rename from seminar01_overload/homework/code/06_is_expensive/is_expensive.cpp rename to seminar01_overload/06_is_expensive/is_expensive.cpp diff --git a/seminar01_overload/homework/code/07_vector3f/main.cpp b/seminar01_overload/07_vector3f/main.cpp similarity index 100% rename from seminar01_overload/homework/code/07_vector3f/main.cpp rename to seminar01_overload/07_vector3f/main.cpp diff --git a/seminar01_overload/homework/code/07_vector3f/vector3f.h b/seminar01_overload/07_vector3f/vector3f.h similarity index 100% rename from seminar01_overload/homework/code/07_vector3f/vector3f.h rename to seminar01_overload/07_vector3f/vector3f.h diff --git a/seminar01_overload/homework/code/08_complex/complex.h b/seminar01_overload/08_complex/complex.h similarity index 100% rename from seminar01_overload/homework/code/08_complex/complex.h rename to seminar01_overload/08_complex/complex.h diff --git a/seminar01_overload/homework/code/08_complex/complex_image.cpp b/seminar01_overload/08_complex/complex_image.cpp similarity index 100% rename from seminar01_overload/homework/code/08_complex/complex_image.cpp rename to seminar01_overload/08_complex/complex_image.cpp diff --git a/seminar01_overload/homework/code/08_complex/complex_movie.cpp b/seminar01_overload/08_complex/complex_movie.cpp similarity index 100% rename from seminar01_overload/homework/code/08_complex/complex_movie.cpp rename to seminar01_overload/08_complex/complex_movie.cpp diff --git a/seminar01_overload/homework/code/08_complex/complex_movie.mp4 b/seminar01_overload/08_complex/complex_movie.mp4 similarity index 100% rename from seminar01_overload/homework/code/08_complex/complex_movie.mp4 rename to seminar01_overload/08_complex/complex_movie.mp4 diff --git a/seminar01_overload/homework/code/08_complex/complex_test.cpp b/seminar01_overload/08_complex/complex_test.cpp similarity index 100% rename from seminar01_overload/homework/code/08_complex/complex_test.cpp rename to seminar01_overload/08_complex/complex_test.cpp diff --git a/seminar01_overload/homework/code/08_complex/julia.cpp b/seminar01_overload/08_complex/julia.cpp similarity index 100% rename from seminar01_overload/homework/code/08_complex/julia.cpp rename to seminar01_overload/08_complex/julia.cpp diff --git a/seminar01_overload/homework/code/08_complex/julia_images/-0.4+0.6i.ppm b/seminar01_overload/08_complex/julia_images/-0.4+0.6i.ppm similarity index 100% rename from seminar01_overload/homework/code/08_complex/julia_images/-0.4+0.6i.ppm rename to seminar01_overload/08_complex/julia_images/-0.4+0.6i.ppm diff --git a/seminar01_overload/homework/code/08_complex/julia_images/-0.7-0.38i.ppm b/seminar01_overload/08_complex/julia_images/-0.7-0.38i.ppm similarity index 100% rename from seminar01_overload/homework/code/08_complex/julia_images/-0.7-0.38i.ppm rename to seminar01_overload/08_complex/julia_images/-0.7-0.38i.ppm diff --git a/seminar01_overload/homework/code/08_complex/julia_images/-0.8+0.16i.ppm b/seminar01_overload/08_complex/julia_images/-0.8+0.16i.ppm similarity index 100% rename from seminar01_overload/homework/code/08_complex/julia_images/-0.8+0.16i.ppm rename to seminar01_overload/08_complex/julia_images/-0.8+0.16i.ppm diff --git a/seminar01_overload/homework/code/08_complex/julia_images/0.28+0.011i.ppm b/seminar01_overload/08_complex/julia_images/0.28+0.011i.ppm similarity index 100% rename from seminar01_overload/homework/code/08_complex/julia_images/0.28+0.011i.ppm rename to seminar01_overload/08_complex/julia_images/0.28+0.011i.ppm diff --git a/seminar01_overload/homework/code/08_complex/julia_movie.cpp b/seminar01_overload/08_complex/julia_movie.cpp similarity index 100% rename from seminar01_overload/homework/code/08_complex/julia_movie.cpp rename to seminar01_overload/08_complex/julia_movie.cpp diff --git a/seminar01_overload/homework/code/08_complex/mandelbrot.cpp b/seminar01_overload/08_complex/mandelbrot.cpp similarity index 100% rename from seminar01_overload/homework/code/08_complex/mandelbrot.cpp rename to seminar01_overload/08_complex/mandelbrot.cpp diff --git a/seminar01_overload/homework/code/08_complex/mandelbrot_images/mandelbrot.ppm b/seminar01_overload/08_complex/mandelbrot_images/mandelbrot.ppm similarity index 100% rename from seminar01_overload/homework/code/08_complex/mandelbrot_images/mandelbrot.ppm rename to seminar01_overload/08_complex/mandelbrot_images/mandelbrot.ppm diff --git a/seminar01_overload/classroom_tasks/classroom_tasks_overload.pdf b/seminar01_overload/classroom_tasks/classroom_tasks_overload.pdf deleted file mode 100644 index 3cfca38d0305af35edab6d3a5035e584a3865fd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116557 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 UWDI4{~)7$Qw%7Z__3(J=Ep1 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�o#DB52k6J6HDR$55JVDreqwAs|#mH5k5_ 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

|0I*8%e(c%=5*h;f$-Kze` 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 -int main() { - printf("Hello World++\n"); -} -\end{lstlisting} -Все библиотеки из языка \texttt{C} можно использовать и в языке \texttt{C++}. Только название библиотеки без \texttt{.h} на конце и с символом \texttt{c} в начале: -\begin{verbatim} - -------> -\end{verbatim} - -Для компиляции используйте компилятор \texttt{g++}. Вот так: -\begin{verbatim} -g++ helloworld.cpp -./a.out -\end{verbatim} -Или, если вы хотите установить у исполняемого файла своё имя за место \texttt{a.out}: -\begin{verbatim} -g++ -o hello helloworld.cpp -./hello -\end{verbatim} - -\begin{itemize} -\item \textbf{Задача 1:} Скомпилируйте и запустите простейшую программу \texttt{00helloworld.cpp}. -\item \textbf{Задача 2:} Разберитесь в программе \texttt{01structnaming.cpp}. Скомпилируйте и запустите. -\end{itemize} - -\section*{Тип bool} -В прошлом семестре, для хранения результатов логических операций, мы использовали целочисленные типы.\\ -В языке \texttt{C++} есть встроенный тип \texttt{bool}, который может принимать 2 значения (\texttt{true} и \texttt{false}). -\begin{lstlisting} -#include -int main() { - bool a = true; - bool b = false; - bool c = a || b; - - if (c) - printf("Yes\n"); - else - printf("No\n"); -} -\end{lstlisting} -\begin{itemize} -\item \textbf{Задача 3:} Что напечатает эта программа? Скомпилируйте её и запустите (\texttt{02bool.cpp}) -\item \textbf{Задача 4:} Напишите функцию, которая будет принимать на вход целое число и возвращать \texttt{true}, если число оканчивается на \texttt{0} и \texttt{false} иначе. Вызовите эту функцию из \texttt{main}. -\end{itemize} - -\newpage -\section*{Пространство имён} -\begin{lstlisting} -#include -// Определяем переменные, структуры, функции внутри пространства имён foo -namespace foo { - int a = 5; - int square(int x) { - return x * x; - } -} -// Чтобы получить доступ к ним вне пространства имён, нужно добавить к именам foo:: -int main() { - printf("%d\n", foo::a); -} -\end{lstlisting} -\begin{itemize} -\item \textbf{Задача 5:} Возведите \texttt{foo::a} в квадрат с помощью функции \texttt{foo::square}. -\item \textbf{Задача 6:} Создайте своё пространство имён по имени \texttt{bar} и определите в нём переменную \texttt{a = 7}. Напечатайте значение этой переменной в \texttt{main}. -\item \textbf{Задача 7:} Сделайте задание в программе \texttt{03namespace.cpp}. -\end{itemize} - -\section*{Ссылки} -Ссылка -- это переменная, которая является новым именем для существующего участка памяти. -\begin{lstlisting} -#include - -int main() { - int a = 10; - // Создадим ссылку r на переменную a - int& r = a; - // Теперь, если изменить r, то поменяется и a - r += 5; - printf("%d\n", a); -} -\end{lstlisting} -Ссылки часто используются для тех же целей, что и указатели (только со ссылкам работать удобнее). -В отличии от указателей, ссылки: -\begin{enumerate} -\item Должны всегда инициализироваться при создании -\item Не могут никуда не ссылаться (т.е. не могут равняться \texttt{NULL}) -\item Их нельзя переприсвоить. При использовании оператора \texttt{=} со ссылками изменяется та переменная, на которую ссылка ссылается, а не сама ссылка. -\end{enumerate} -\begin{itemize} -\item \textbf{Задача 8:} Сделайте задание в файлах \texttt{04ref.cpp}, \texttt{05ref.cpp} и \texttt{06ref.cpp}. -\end{itemize} -\section*{Перегрузка функций} -\begin{itemize} -\item \textbf{Задача 9:} Сделайте задание в файлах \texttt{07function\_overload.cpp}, \texttt{08nulptr.cpp} и \texttt{09default\_arguments.cpp}. -\end{itemize} -\section*{Перегрузка операторов} -\begin{itemize} -\item \textbf{Задача 10:} Сделайте задание в файлах \texttt{10operator\_overload.cpp}, \texttt{11iostream.cpp} и \texttt{12iostream\_overload.cpp}. -\end{itemize} -\end{document} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/00hello.cpp b/seminar01_overload/classroom_tasks/code/00namespace/00hello.cpp deleted file mode 100644 index eef258d..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/00hello.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include - -/* - Здравствуйте, это первый файл семестра по языку C++ (для тех, кто знаком с языком C) - - Язык C++ создан на основе языка C и одним из приоритетов C++ является обратная совместимость с C - Поэтому почти любая программа на языке C будет работать и на языке C++ - - Однако, нужно помнить, что это разные языки. В C++ было добавлено огромное количество новых возможностей, - что сделало C++ возможно самым объёмным и мощным языком программирования. - - C++ содержит в себе во много раз больше всего, чем язык C и пройти его за один семестр не представляется возможным, - но мы пройдём ключевые части этого языка. - - - Для компиляции программ на C++ будем использовать компилятор g++. - Скомпилируйте эту программу вот так: - g++ 00hello.cpp - - И запустите вот так (для Windows): - a.exe - - И запустите вот так (для Linux): - ./a.out - -*/ - - -int main() -{ - printf("Hello World of C++\n"); -} - diff --git a/seminar01_overload/classroom_tasks/code/00namespace/01namespace.cpp b/seminar01_overload/classroom_tasks/code/00namespace/01namespace.cpp deleted file mode 100644 index 7b6c2b6..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/01namespace.cpp +++ /dev/null @@ -1,48 +0,0 @@ -#include - -/* - Пространства имён - namespace - - Определяем переменные/структуры/функции внутри пространства имён. - Давайте назовём его mipt - - Чтобы получить доступ к этим переменным/структурам/функциям - вне пространства имён, нужно добавить к имени название пространства имён и оператор :: - В данном случае нужно добавить mipt:: -*/ - - -namespace mipt -{ - int a = 5; - float b = 1.2; - - int square(int x) - { - return x * x; - } -} - - -int main() -{ - printf("%i\n", mipt::square(4)); -} - - -/* - Задание: - - 1) Скомпилируйте программу и запустите, что она напечатает? - - 2) Что будет, если забыть написать mipt:: у названия функции square? - - 3) Передайте в функцию mipt::square переменную a из пространства имён mipt - - 4) Напишите функцию float average(float x, float y), которая будет принимать 2 числа - и возвращать их среднее арифметическое. - Поместите эту функцию в пространство имён mipt и вызовите эту функцию из main - - 5) Напечатайте среднее арифметическое от a и b, используя функцию average - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/01namespace_solution.cpp b/seminar01_overload/classroom_tasks/code/00namespace/01namespace_solution.cpp deleted file mode 100644 index b6d9059..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/01namespace_solution.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include - - -namespace mipt -{ - int a = 5; - float b = 1.2; - - int square(int x) - { - return x * x; - } - - float average(float x, float y) - { - return (x + y) / 2; - } -} - - -int main() -{ - printf("%i\n", mipt::square(mipt::a)); - printf("%f\n", mipt::average(mipt::a, mipt::b)); -} diff --git a/seminar01_overload/classroom_tasks/code/00namespace/02struct_type_name.cpp b/seminar01_overload/classroom_tasks/code/00namespace/02struct_type_name.cpp deleted file mode 100644 index f965277..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/02struct_type_name.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include - -/* - В языке C при объявлении структуры struct Book создаётся тип по имени struct Book. - - В языке C++ при объявлении структуры struct Book создаётся тип к которому - можно обращаться как по имени struct Book так и по имени Book -*/ - - -struct Book -{ - char title[50]; - int pages; - float price; -}; - - -int main() -{ - struct Book a = {"Tom Sawyer", 280, 500}; - - Book b = {"War and Peace", 1200, 900}; -} diff --git a/seminar01_overload/classroom_tasks/code/00namespace/03namespace.cpp b/seminar01_overload/classroom_tasks/code/00namespace/03namespace.cpp deleted file mode 100644 index 4ece511..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/03namespace.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include - -/* - Определяем переменные/структуры/функции внутри пространства имён mipt - Затем к ним можно будет доступиться используя префикс mipt:: -*/ - - -namespace mipt -{ - struct Book - { - char title[50]; - int pages; - float price; - }; - - void printBook(Book b) - { - printf("%s, pages: %d, price: %.2f\n", b.title, b.pages, b.price); - } -} - - - -int main() -{ - -} - -/* - Задание: - - Структура Book и функция printBook определены в пространстве имён mipt - - 1) Создайте переменную типа структура Book и иницилизируйте - её значениями: "War and Peace", 1200, 900 - - 2) Напечатайте созданную переменную с помощью функции printBook -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/03namespace_solution.cpp b/seminar01_overload/classroom_tasks/code/00namespace/03namespace_solution.cpp deleted file mode 100644 index 7c0d26f..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/03namespace_solution.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include - - -namespace mipt -{ - struct Book - { - char title[50]; - int pages; - float price; - }; - - void printBook(Book b) - { - printf("%s, pages: %d, price: %.2f\n", b.title, b.pages, b.price); - } -} - - - -int main() -{ - mipt::Book b = {"War and Peace", 1200, 900}; - mipt::printBook(b); -} - -/* - Задание: - - Структура Book и функция printBook определены в пространстве имён mipt - - 1) Создайте переменную типа структура Book и иницилизируйте - её значениями: "War and Peace", 1200, 900 - - 2) Напечатайте созданную переменную с помощью функции printBook -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/04name_collision.cpp b/seminar01_overload/classroom_tasks/code/00namespace/04name_collision.cpp deleted file mode 100644 index e65a429..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/04name_collision.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include - -/* - Зачем вообще нужны пространства имён? - - Представьте, что вы создаёте большую программу, исходный код который - содержит миллионы строк кода. Конечно, большая часть кода написана не вами, - так как вы используете библиотеки, написанные другими программистами. - - Библиотекой можно назвать совокупность файлов исходного кода, нацеленных - на решение какой-либо задачи. Например, есть библиотека для работы с графикой - в которой содержатся функции/структуры/классы для работы с графикой. - - Если вы подключаете несколько библиотек, то существует высокая вероятность, - что название чего-либо из одной библиотеки совпадёт с названием чего-то из другой библиотеки. - Это, конечно, приведёт к ошибке. - - Чтобы этого избежать и используются пространства имён. -*/ - - - -namespace audio -{ - int a = 10; - - int calculate(int x) - { - return x + 1; - } -} - - -namespace graphics -{ - int a = 20; - - int calculate(int x) - { - return x * 2; - } -} - - - -int main() -{ - printf("%i\n", audio::a); - printf("%i\n", graphics::a); - - - printf("%i\n", graphics::calculate(audio::calculate(graphics::a))); -} - - -/* - Задание: - - 1) Что напечатает данная программа? -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/05using.cpp b/seminar01_overload/classroom_tasks/code/00namespace/05using.cpp deleted file mode 100644 index d3833db..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/05using.cpp +++ /dev/null @@ -1,78 +0,0 @@ -#include - -/* - Если вам очень не хочется постоянно писать названия пространства имён, - то вы можете использовать ключевое слово using - - using namespace audio; - - Это говорит о том, что начиная с этой строки audio:: перед именами писать больше не нужно - - Это, конечно, полностью уничтожают всю пользу, которую приносят пространства имён. - То есть в больших проектах могут возникнуть ошибки, связанные с одинаковыми именами. - - Так что так лучше не делать, а если и делать, то только в маленьких программах. -*/ - - -namespace audio -{ - int a = 10; - - int calculate(int x) - { - return x + 1; - } -} - - -namespace graphics -{ - int a = 20; - - int calculate(int x) - { - return x * 2; - } -} - -namespace network -{ - int b = 20; - - int solve(int x) - { - return x * 2; - } -} - -using namespace audio; - -int main() -{ - printf("%i\n", calculate(a)); -} - - -/* - Задание: - - 1) Что напечатает данная программа? - - 2) Если заменить using namespace audio на using namespace graphics, то что напечатает программа? - - 3) Что если одновременно использовать пространство имён audio и пространство имён graphics? - - using namespace audio; - using namespace graphics; - - Приведёт ли это к ошибке и, если да, то почему? - - - 4) Что если одновременно использовать пространство имён audio и пространство имён network? - - using namespace audio; - using namespace network; - - Приведёт ли это к ошибке и, если да, то почему? -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/06std_cout.cpp b/seminar01_overload/classroom_tasks/code/00namespace/06std_cout.cpp deleted file mode 100644 index 436f140..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/06std_cout.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include - -/* - Все переменные/функции/структуры/классы стандартной библиотеки языка C++ содержатся в пространстве имён std - Рассмотрим, например, глобальную переменную cout, определённую в библиотеке iostream в пространстве имён std. - - К этой переменной можно применять оператор << - cout << объект - В результате этой операции объект напечатается на экран (если он может напечататься) - Результат оператора << также является cout, поэтому можно применять << несколько раз: - - - - Например это выражение: cout << "Hello " << "World" << "\n"; - - 1) Сначала напечатается "Hello " и на место cout << "Hello " подставится cout - Получтся cout << "World" << "\n"; - - 2) Потом напечатется "World" и на место cout << "World" подставится cout - Получтся cout << "\n"; - - 3) В конце напечатается перенос строки -*/ - - - -int main() -{ - std::cout << "Hello World\n"; - std::cout << 5 << "\n"; - - int x = 10; - std::cout << 5 << "\n"; -} - - -/* - Задачи: - - 1) Напечатайте на экран число 1.4, используя cout (количество печатаемых знаков после запятой неважно) - Обратите внимание, что при печати с cout не нужно указывать спецификатор типа как в printf. - cout сам понимает объект какого типа ему передаётся - - 2) Напечатайте фразу "I am x years old", только за место x нужно подставить значение - переменной x. В данной задаче получится "I am 10 years old". Используйте cout. - - 3) Напечатайте на экран числа от 1 до 20, разделённые пробелом. Используйте cout - - 4) Вместо \n для переноса строки можно использовать endl - специальный объект из - пространства имён std. - Если мы передаём его объекту cout через оператор << то печатается перенос строки - - Замените все переносы строк с \n на endl - std::cout << 5 << "\n"; --> std::cout << 5 << std::endl; - - - На самом деле std::endl работает медленней, чем \n, так как он помимо печати делает flush - Поэтому, если важна скорость печати в буфер, то лучше использовать \n - - - 5) Что будет если не написать std:: перед одним из cout? - - 6) Используйте using namespace std; и избавьтесь от надоедливых std:: перед cout и endl - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/06std_cout_solution.cpp b/seminar01_overload/classroom_tasks/code/00namespace/06std_cout_solution.cpp deleted file mode 100644 index 744d55c..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/06std_cout_solution.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include -using namespace std; - - -int main() -{ - cout << 1.4 << endl; - - int x = 10; - cout << "I am " << x << " years old" << endl; - - for (int i = 1; i <= 20; ++i) - cout << i << " "; - cout << endl; - -} diff --git a/seminar01_overload/classroom_tasks/code/00namespace/07std_using_one_name.cpp b/seminar01_overload/classroom_tasks/code/00namespace/07std_using_one_name.cpp deleted file mode 100644 index 5d1277c..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/07std_using_one_name.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#include - -/* - В пространстве имён std очень много разных имён. Если мы добавим их всех, используя - using namespace std; - то это может привести к проблеме. - Одно из имён из std может совпасть с названием нашего объекта и это может привести к ошибке. - - Так что лучше такую возможность не использовать. - - Но можно добавить только одно имя так: - using std::cout; - Начиная с этого момента можно писать просто cout. - Но для всех остальных объектов из std вы должны продолжать писать std:: -*/ - -using std::cout; - - -int main() -{ - cout << "Hello World" << std::endl; - cout << 5 << std::endl; -} - - -/* - Задачи: - - 1) Добавить endl в нашу область видимости, также как и cout - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/08std_cin.cpp b/seminar01_overload/classroom_tasks/code/00namespace/08std_cin.cpp deleted file mode 100644 index 9547de5..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/08std_cin.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include - -/* - Счтиывание из стандартного входа - - Рассмотрим глобальную переменную cin, определённую в библиотеке iostream в пространстве имён std. - - К этой переменной можно применять оператор >> - cin >> объект - В результате этой операции объект считается с экрана (если он может быть считан) - Результат оператора >> также является cin, поэтому можно применять >> несколько раз: - - - - Например это выражение: cin >> a >> b; - - 1) Сначала считается переменная a и на место cin >> a подставится cin - Получтся cin >> b; - - 2) Потом считается переменная b -*/ - - - -int main() -{ - int a, b; - std::cin >> a >> b; - std::cout << a + b; -} - - -/* - Задачи: - - 1) Что напечатает данная программа, если на вход передать числа 10 и 20? - - 2) Напишите программу, которая будет считывать два вещественных числа и печатать их среднее геометрическое - Функция корня sqrt есть в библиотеке - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/00namespace/08std_cin_solution.cpp b/seminar01_overload/classroom_tasks/code/00namespace/08std_cin_solution.cpp deleted file mode 100644 index 56b5d96..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/08std_cin_solution.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include -#include - - -int main() -{ - float a, b; - std::cin >> a >> b; - std::cout << sqrt(a * b); -} diff --git a/seminar01_overload/classroom_tasks/code/00namespace/09cprog.cpp b/seminar01_overload/classroom_tasks/code/00namespace/09cprog.cpp deleted file mode 100644 index 23dcdee..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/09cprog.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include -#include - -/* - Язык C++ обратно совместим с языком C. То есть почти любая программа на C будет работать на C++ - Эта программа будет работать. - - Обратите внимания, для имён, пришедших из языка C использовать std:: не обязательно - - Программа работает, несмотря на то, что мы используем библиотечные - функции printf и sqrt без указания пространства имён std. -*/ - - - -int main() -{ - printf("%f", sqrt(3)); -} - - -/* Задача: - - 1) Что напечатает данная программа? - - 2) Использование библиотечных функций без std опасно, так как может привести к ошибкам, - связанных с совпадением имён. Помните, что большая программа может иметь миллионы - строк кода и совпадение ваших имен и библиотечных имён очень вероятно. - - - Напишите следующую функцию перед функцией main - - int sqrt(int x) - { - return x + 1; - } - - Что теперь напечатает программа? Объясните результат. -*/ - - - diff --git a/seminar01_overload/classroom_tasks/code/00namespace/10cprog_with_std.cpp b/seminar01_overload/classroom_tasks/code/00namespace/10cprog_with_std.cpp deleted file mode 100644 index 675de5c..0000000 --- a/seminar01_overload/classroom_tasks/code/00namespace/10cprog_with_std.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#include -#include - -/* - Желательно всё равно использовать std даже для имён пришедших из языка C - - Также были изменены названия библиотек: - stdio.h --> cstdio - math.h --> cmath - cmath означает, что это библиотека языка C под названием math, поэтому и cmath - - Они почти не отличаются от предыдущих, но при программировании на C++ - желательно использовать именно эти библиотеки. -*/ - - -int main() -{ - std::printf("%f", std::sqrt(3)); -} - - -/* Задача: - - 1) Что напечатает данная программа? - - 2) Напишите следующую функцию перед функцией main - - int sqrt(int x) - { - return x + 1; - } - - Что теперь напечатает программа? Объясните результат. -*/ - - diff --git a/seminar01_overload/classroom_tasks/code/01ref/00ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/00ref.cpp deleted file mode 100644 index e5ec010..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/00ref.cpp +++ /dev/null @@ -1,60 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - В C++ вводится понятие нового типа под названием Ссылка - - Ссылку можно рассматривать как новое имя для объекта. - Ссылку также можно рассматривать как удобный указатель, который автоматически разыменовывается - (На самом деле под капотом ссылка и является указателем) - - Ссылка объявляется с помощью значка & после имени типа. - Не стоит путать & используемый при объявлении ссылки с & используемым для нахождения адреса переменной. - Это разные & - - - Пусть есть переменная a - int a = 10; - Давайте создадим указатель и ссылку на эту переменную и увеличим её на 1 с помощью указателя/ссылки - - Используем указатель: Используем ссылку: - int* p = &a; int& r = a; - *p += 1; r += 1; - - - Ссылкой пользоваться удобно, так как: - - 1) При создании ссылки нам не нужно передавать ей адрес - Просто передаём ей саму переменную, а ссылка уже сама находит её адрес - - 2) Не нужно её разыменовывать, она всегда разыменовывается сама - -*/ - -int main() -{ - int a = 10; - - int& r = a; - r += 1; - - cout << a << endl; -} - - -/* - Задачи: - - 1) Используйте ссылку r, чтобы увеличить a в 2 раза - Проверьте, как изменилась a, напечатав её - - - 2) Используйте ссылку r, чтобы присвоить a число 100 - Проверьте, как изменилась a, напечатав её - - - 3) Создайте переменную b типа float, равную 1.5 - Создайте ссылку на b и используйте эту ссылку, чтобы возвести b в квадрат - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/01ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/01ref.cpp deleted file mode 100644 index d1af855..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/01ref.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Пусть у нас есть некоторый объект, например - int a = 10; - - После того как мы создали ссылку на этот объект - int& r = a; - - Все (почти) операции применяемые к ссылке r применяются на самом деле к объекту a - Как будто у одного объекта теперь два имени a и r - Поэтому можно сказать, что ссылка это новое имя для объекта - - При этом изменить саму ссылку (например, чтобы она начала указывать на другое имя) нельзя -*/ - -int main() -{ - int a = 10; - int& r = a; - - - r += 5; // Прибавим к a число 5 - r *= 2; // Умножим a на 2 - cout << r << endl; // Напечатаем a - cout << sizeof(r) << endl; // Напечатаем размер a - cout << &r << endl; // Напечатаем адрес a -} - - -/* - Задачи: - - 1) Чему будет равно значение a в конце этой программы - - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/02ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/02ref.cpp deleted file mode 100644 index 106b64e..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/02ref.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Пусть у нас есть некоторый объект, например - int a = 10; - - После того как мы создали ссылку на этот объект - int& r = a; - - Все (почти) операции применяемые к ссылке r применяются на самом деле к объекту a - Как будто у одного объекта теперь два имени a и r - Поэтому можно сказать, что ссылка это новое имя для объекта - - При этом изменить саму ссылку (например, чтобы она начала указывать на другое имя) нельзя -*/ - -int main() -{ - int a[5] = {10, 20, 30, 40, 50}; - - int& b = a[1]; - b += 1; - - for (int i = 0; i < 5; ++i) - { - cout << a[i] << " "; - } - cout << endl; -} - - -/* - Задачи: - - 1) Что будет содержать массив a в конце данной программы? - - 2) Создайте ссылку, которая будет указывать на последний элемент массива a - Используйте эту ссылку, чтобы умножить последний элемент массива на 2 - Напечатайте этот массив - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/03ref_pointer_diff_init.cpp b/seminar01_overload/classroom_tasks/code/01ref/03ref_pointer_diff_init.cpp deleted file mode 100644 index b6142bb..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/03ref_pointer_diff_init.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Несмотря на то, что ссылки и указатели во многом похожи, у них есть и много больших отличий. - (помимо разной инициализации и того, что ссылку не нужно постоянно разыменовывать) - - - Различие 1) - Указатель можно создать без инициализации вот так: - int* p; - В этом случае в p будет храниться произвольный адрес. - Разыменовывать такой указатель, не задав его значение адресом какого-либо объекта, - очень опасно, это может привести к сложновыявляемым ошибкам. - - Ссылку нельзя создать без инициализации, то есть так нельзя: - int& r; - При создании ссылки нужно указать на что она будет указывать - - - Различие 2) - Указатель можно приравнять нулевому значению - В C++ вводится специальное нулевое значение для указателя nullptr - Вместо NULL, который был просто равен числу 0. В C++ лучше использовать nullptr - Разыменование нулевого указателя также приведёт к ошибке. - - Ссылку нельзя присвоить никакому нулевому значению - -*/ - -int main() -{ - -} - - -/* - Задачи: - - 1) Попробуйте создать: - a) Указатель без инициализации - б) Ссылку без инициализации - - в) Указатель, равнуй нулевому значению nullptr - г) Ссылку, равную нулю - - Скомпилируется ли программа в этих 4-х случаях? -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/04ref_pointer_diff_assign.cpp b/seminar01_overload/classroom_tasks/code/01ref/04ref_pointer_diff_assign.cpp deleted file mode 100644 index 46a707a..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/04ref_pointer_diff_assign.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Несмотря на то, что ссылки и указатели во многом похожи, у них есть и много больших отличий. - (помимо разной инициализации и того, что ссылку не нужно постоянно разыменовывать) - - - Различие 3) Указатель можно переприсвоить. Если указатель сначала указывал в одно место, - например, на переменную a, то можно просто написать - p = &b; - и указатель станет указывать на переменную b. - - Со ссылками такое не пройдёт, они всегда указывают на тот объект, который был указан при создании ссылки - При попытке изменить это и написать что-то вроде - r = b; - ссылка автоматически разыменуется и присваивание произойдёт к тому, на что указывала ссылка - - -*/ - -int main() -{ - int a = 10; - int b = 20; - - int* p = &a; - *p += 1; - p = &b; - *p += 1; - - cout << a << " " << b << endl; - - - int& r = a; - r += 1; - r = b; - r += 1; - - cout << a << " " << b << endl; -} - - -/* - Задачи: - - 1) Попробуйте понять, что напечатает программа без её запуска - - 2) Запустите программу, проверьте ваши догадки и объясните результат - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/05ref_pointer_diff_arith.cpp b/seminar01_overload/classroom_tasks/code/01ref/05ref_pointer_diff_arith.cpp deleted file mode 100644 index a4804a8..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/05ref_pointer_diff_arith.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Несмотря на то, что ссылки и указатели во многом похожи, у них есть и много больших отличий. - (помимо разной инициализации и того, что ссылку не нужно постоянно разыменовывать) - - Различие 4) - Арифметика указателей. - К указателю можно прибавлять/отнимать целые числа. Можно вычесть 2 указателя. - Можно применить [] к указателю. При всём этом, желательно, чтобы указатель указывал на элемент массива. - Неаккуратное использование арифметики указателей может привести к ошибкам. - Например, можно прибавить к указателю не то число и выйти за пределы массива. - - - Ничего такого со ссылками сделать нельзя. - При попытке прибавить к ссылке число, оно прибавится к той переменной, на которую указывает ссылка. - Так как ссылка автоматически разыменуется. - -*/ - -int main() -{ - int a[5] = {10, 20, 30, 40, 50}; - - int* p = &a[0]; - - p += 1; // Увеличиваем указатель - *p += 1; // Увеличиваем то, на что указывает указатель - - - int& r = a[0]; - - r += 1; // Увеличиваем то, на что указывает ссылка (она автоматически разыменовывается) -} - - -/* - Задачи: - - 1) Чему будет равен массив a в конце данной программы - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/06ref_restrictions.cpp b/seminar01_overload/classroom_tasks/code/01ref/06ref_restrictions.cpp deleted file mode 100644 index 5857823..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/06ref_restrictions.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Несмотря на то, что ссылки и указатели во многом похожи, у них есть и много больших отличий. - - Различие 5) - Ссылки это не совсем обычный объект, некоторые операции с ними запрещены: - - Ссылку нельзя сделать элементом массива - - Нельзя получить адрес ссылки (если применим & то вернётся адрес того объекта на который указывет ссылка) - Нельзя создать укатель на ссылку - Нельзя создать ссылку на ссылку -*/ - -int main() -{ - - int x = 1; - int y = 2; - int z = 2; - - int& a[3] = {x, y, z}; // Ошибка, создать массив из ссылок не получится - -} - - -/* - Задачи: - - 1) Можно ли инициализировать ссылку на int простым числом вот так: - int& r = 5; - - - 2) Ссылку на ссылку создать нельзя, но код ниже почему-то работает. - Объясните почему этот код работает - - int a = 10; - int& r1 = a; - int& r2 = r1; - - r2 += 1; - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/07func_ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/07func_ref.cpp deleted file mode 100644 index 55ec344..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/07func_ref.cpp +++ /dev/null @@ -1,69 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - В 90% случаях ссылки используются для того чтобы передать что либо в функцию - Часто нам хочется передать переменную в функцию и изменить её там (внутри функции) - Это можно делать и с помощью указателей, но с помощью ссылок это делать гораздо удобней - Рассмотрим два эквивалентных участка кода: - - Передаём по указателю: Передаём по ссылке: - - void sqr(int* p) void sqr(int& r) - { { - *p = *p * *p; r = r * r; - } } - - int main() int main() - { { - int a = 5; int a = 5; - sqr(&a); sqr(a); - cout << a << endl; cout << a << endl; - } } - - - Обратите внимание на 2 вещи: - 1) Ссылку не нужно разыменовывать внутри функции, это происходит автоматически - - 2) При передаче в функцию, не нужно передавать адрес переменной - Нужно передать саму переменную, компилятор сам вычислит её адрес - - При этом копирования объекта a в функцию не происходит, - ссылки работают также быстро как и указатели -*/ - -void sqr(int& r) -{ - r = r * r; -} - -int main() -{ - int a = 5; - sqr(a); - - cout << a << endl; -} - - -/* - Задачи: - - 1) Напишите функцию void inc(int& x), которая должна принимать объект типа int - и увеличивать его на 1 - Вызовите эту функцию из main и протестируйте её работу - - 2) Напишите функцию void normalize(float& x, float& y), которая должна принимать - 2 объекта типа float и нормализировать их. То есть делить их на некоторое число, - так чтобы было x*x + y*y == 1 - - Для этого x и y нужно разделить на sqrt(x*x + y*y) - - - 3) Можно ли передать в функцию sqr не переменную, а число? - То есть, можно ли написать так: - sqr(5) - - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/07func_ref_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/07func_ref_solution.cpp deleted file mode 100644 index 9fcb592..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/07func_ref_solution.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include -#include -using std::cout, std::endl; - - -void inc(int& x) -{ - x += 1; -} - -void normalize(float& x, float& y) -{ - float norm = std::sqrt(x * x + y * y); - x /= norm; - y /= norm; -} - - -int main() -{ - int a = 5; - inc(a); - cout << a << endl; - - float x = 9, y = 6; - normalize(x, y); - cout << x << " " << y << endl; -} - - -/* - Задачи: - - 1) Напишите функцию void inc(int& x), которая должна принимать объект типа int - и увеличивать его на 1 - Вызовите эту функцию из main и протестируйте её работу - - 2) Напишите функцию void normalize(float& x, float& y), которая должна принимать - 2 объекта типа float и нормализировать их. То есть делить их на некоторое число, - так чтобы было x*x + y*y == 1 - - Для этого x и y нужно разделить на sqrt(x*x + y*y) - - - 3) Можно ли передать в функцию sqr не переменную, а число? - То есть, можно ли написать так: - sqr(5) - - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct.cpp b/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct.cpp deleted file mode 100644 index 78ae781..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct.cpp +++ /dev/null @@ -1,81 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Чаще всего по ссылке в функцию передаются объекты структур и классов - - Даже если мы не хотим менять объект внутри функции, мы всё-равно можем - захотеть передать его по ссылке, так как передача по ссылке не копирует объект, - следовательно это гораздо более эффективно - - В этом случае передаём по константной ссылке (по аналогии с константным указателем) - -*/ - - -struct Book -{ - char title[100]; - int pages; - float price; -}; - - -void increasePrice(Book& b, float value) -{ - b.price += value; -} - -void printBook(Book& b) -{ - cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; -} - - -int main() -{ - Book b = {"War and Peace", 1200, 900}; - - printBook(b); - increasePrice(b, 100); - printBook(b); -} - - -/* -// Тот же самый код с использованием указателей выглядел бы так: - -void increasePrice(Book* b, float value) -{ - b->price += value; -} - -void printBook(const Book* b) -{ - cout << b->title << ", pages = " << b->pages << ", price = " << b->price << endl; -} - -int main() -{ - Book b = {"War and Peace", 1200, 900}; - - printBook(&b); - increasePrice(b, 100); - printBook(&b); -} - -*/ - - -/* - Задачи: - - 1) Напишите функцию addPage, которая бы принимала структуру Book по ссылке - и увеличивала количество страниц на 1 - Протестируйте эту функцию в main - - 2) Напишите функцию changeFirstLetter, которая бы принимала структуру Book по ссылке - и изменяла первую букву в названии на букву A - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct_solution.cpp deleted file mode 100644 index ebfceef..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/08func_ref_struct_solution.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include -using std::cout, std::endl; - - - -struct Book -{ - char title[100]; - int pages; - float price; -}; - -void addPage(Book& b) -{ - b.pages++; -} - -void changeFirstLetter(Book& b) -{ - b.title[0] = 'A'; -} - -void printBook(const Book& b) -{ - cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; -} - - -int main() -{ - Book b = {"War and Peace", 1200, 900}; - - printBook(b); - - addPage(b); - printBook(b); - - changeFirstLetter(b); - printBook(b); -} - diff --git a/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref.cpp deleted file mode 100644 index baac9d3..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref.cpp +++ /dev/null @@ -1,73 +0,0 @@ -#include -using std::cout, std::endl; - -/* - Ссылки, как и указатели используются для передачи объектов в функции - - Рассмотрим три функции - - incByValue - принимаем объект по значению - В этом случае объект копируется и функция работает с копией - - incByPointer - принимаем объект по адресу - В этом случае внутри функции создаётся указатель, и в этот указатель - мы передаём адрес нашего объекта - - incByReference - принимаем объект по ссылке - В этом случае происходит всё примерно то же самое, что и в случае incByPointer - Только с гораздо более приятным синтаксисом - -*/ - - -void incByValue(int a) -{ - a += 1; -} - -void incByPointer(int* p) -{ - *p += 1; -} - -void incByReference(int& a) -{ - a += 1; -} - -int main() -{ - int a = 10; - - cout << "1) Initial a = " << a << endl - - incByValue(a); - cout << "2) After incByValue a = " << a << endl; - - incByPointer(&a); - cout << "3) After incByPointer a = " << a << endl - - incByReference(a); - cout << "4) After incByReference a = " << a << endl; -} - - -/* - Задание: - - 1) Напишите функции: - - cubeByPointer(int* p) - принимет число по указателю и возводит это число в куб - cubeByReference(int& a) - принимет число по ссылке и возводит это число в куб - - Протестируйте эти функции в main - - - 2) Написать функции: - - swapByPointer(int* pa, int* pb) - принимает 2 числа по указателю и обменивает их значения - swap(int& pa, int& pb) - принимает 2 числа по ссылке и обменивает их значения - - Протестируйте эти функции в main - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref_solution.cpp deleted file mode 100644 index 899e1c7..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/09by_value_pointer_ref_solution.cpp +++ /dev/null @@ -1,54 +0,0 @@ -#include -using std::cout, std::endl; - - -void cubeByPointer(int* p) -{ - *p = *p * *p * *p; -} - -void cubeByReference(int& a) -{ - a = a * a * a; -} - - -void swapByPointer(int* pa, int* pb) -{ - int temp = *pa; - *pa = *pb; - *pb = temp; -} - -void swapByReference(int& a, int& b) -{ - int temp = a; - a = b; - b = temp; -} - - - -int main() -{ - int a = 5; - cubeByPointer(&a); - cout << a << endl; - - a = 5; - cubeByReference(a); - cout << a << endl; - - - - int x = 10, y = 20; - swapByPointer(&x, &y); - cout << x << " " << y << endl; - - - x = 10; - y = 20; - swapByReference(x, y); - cout << x << " " << y << endl; - -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/10const_ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/10const_ref.cpp deleted file mode 100644 index 3df3a6a..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/10const_ref.cpp +++ /dev/null @@ -1,97 +0,0 @@ -#include -#include -using std::cout, std::endl; - -/* - Константные ссылки можно создать, используя ключевое слово const - - int a = 10; - const int& r = a; - - Это означает, что a нельзя будет изменить по этой ссылке - То есть поменять a, используя ссылку r будет нельзя: - r += 1; // Ошибка! - a += 1; // OK - - - Важным неочевидным отличием константных ссылок от обычных ссылок является то, что обычные ссылки - можно инициализировать только объектами, которые уже храняться в памяти (например, переменными). - - int& r1 = a; // OK - int& r2 = 5; // Ошибка - - Константные ссылки можно инициализировать чем угодно (нужно только чтобы тип совпадал) - - const int& cr1 = a; // OK - const int& cr2 = 5; // OK - - -*/ - - -int main() -{ - int a = 10; - const int& r = a; - - - int& r1 = 20; // Это не будет компилироваться - const int& r2 = 20 // Тут всё ОК - -} - - -/* - Задание: - - 1) Можно ли инициализировать ссылку таким образом? - float& r = std::sqrt(2); - - Можно ли инициализировать константную ссылку таким образом? - const float& r = std::sqrt(2); - - - 2) Пусть есть функция: - - void printAgeV(int x) - { - cout << "My age is " << x << " years" << endl; - } - - Можно ли вызвать её так? - int a = 10; - printAgeV(a) - - Можно ли вызвать её так? - printAgeV(20) - - - 3) Пусть есть функция: - - void printAgeR(int& x) - { - cout << "My age is " << x << " years" << endl; - } - - Можно ли вызвать её так? - int a = 10; - printAgeR(a) - - Можно ли вызвать её так? - printAgeR(20) - - - 4) Пусть есть функция: - - void printAgeCR(const int& x) - { - cout << "My age is " << x << " years" << endl; - } - - Можно ли вызвать её так? - int a = 10; - printAgeCR(a) - - Можно ли вызвать её так? - printAgeCR(20) -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/10const_ref2.cpp b/seminar01_overload/classroom_tasks/code/01ref/10const_ref2.cpp deleted file mode 100644 index 9d1f484..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/10const_ref2.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include -#include -using std::cout, std::endl; - -/* - Константные ссылки нужны прежде всего, чтобы передавать большие объекты в функции, внутри которых они не должны меняться - - Рассмотрим структуру Book, чей размер более 100 байт - - - 1) При передаче такой структуры в функцию по значению, как это происходит в функции printBookV, - вся структура будет копироваться внутрь функции и это очень медленно. Так делать не стоит. - - - 2) При передаче такой структуры в функцию по обычной ссылке, как это происходит в функции printBookR, структура не копируется - На самом деле, под капотом внутрь функции копируется адрес структуры. - Адрес намного меньше самой структуры, поэтому это копирование работает намного быстрее. - - Но возникает проблема с тем, что структура внутри такой функции может поменяться. - В реальной ситуации, если функций много и они большие, уследить за тем меняется ли аргументы внутри функций становится проблематично. - - - 3) При передаче такой структуры в функцию по константной ссылке, как это происходит в функции printBookCR, структура не копируется. - Плюс к этому мы можем быть уверены, что внутри функции наша структура не поменяется и это сильно упрощает понимание программы. - -*/ - -struct Book -{ - char title[100]; - int pages; - float price; -}; - - -void printBookV(Book b) -{ - cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; -} - - -void printBookR(Book& b) -{ - cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; -} - - -void printBookCR(const Book& b) -{ - cout << b.title << ", pages = " << b.pages << ", price = " << b.price << endl; -} - - -int main() -{ - Book b = {"War and Peace", 1200, 900}; - - printBookV(b); - printBookR(b); - printBookCR(b); -} - - diff --git a/seminar01_overload/classroom_tasks/code/01ref/11return_ref.cpp b/seminar01_overload/classroom_tasks/code/01ref/11return_ref.cpp deleted file mode 100644 index 8436ff0..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/11return_ref.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Ссылки можно и возвращать из функции - Например, функция get возвращает ссылку на глобальную переменную x - -*/ - -int x = 10; - - -int& get() -{ - return x; -} - -int main() -{ - cout << x << endl; - cout << get() << endl; - - get() += 1; - cout << x << endl; -} - - - -/* - С указателями аналогичный код выглядел бы так: - - -int x = 10; - -int* get() -{ - return &x; -} - -int main() -{ - cout << x << endl; - cout << *get() << endl; - - *get() += 1; - cout << x << endl; -} - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/12return_ref_local.cpp b/seminar01_overload/classroom_tasks/code/01ref/12return_ref_local.cpp deleted file mode 100644 index 8b15dbc..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/12return_ref_local.cpp +++ /dev/null @@ -1,51 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Ссылки можно и возвращать из функции - - Но при этом нужно следить за тем, чтобы функция не вернула ссылку на локальную переменную, как это происходит в данном примере. - После завершения функции, переменная x удалится, так как она была определена внутри функции. - - В результате, внутри функции main мы попробуем доступиться к области памяти, в которой раньше лежала переменная x. - Это приведёт к ошибке - -*/ - -int& get() -{ - int x = 10; - return x; -} - - -int main() -{ - cout << get() << endl; - - get() += 1; - cout << get() << endl; - -} - - - -/* - Аналогичная ошибка может произойти и при работе с обычными указателями: - - int* get() - { - int x = 10; - return &x; - } - - int main() - { - cout << *get() << endl; - - *get() += 1; - cout << *get() << endl; - } - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/13return_ref_argument.cpp b/seminar01_overload/classroom_tasks/code/01ref/13return_ref_argument.cpp deleted file mode 100644 index ce7b9e3..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/13return_ref_argument.cpp +++ /dev/null @@ -1,39 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Ссылки можно и возвращать из функции - Например, функция increase принимает ссылку, увеличивет то, на что указывает эта ссылка на 1 - и возвращает эту ссылку - - При этом никакого копирование самой переменной a в функцию и из функции не происходит -*/ - -int& increase(int& r) -{ - r += 1; - return r; -} - -int main() -{ - int a = 10; - - cout << "1) a = " << a << endl; - - increase(a); - cout << "2) a = " << a << endl; - - increase(a) += 7; - cout << "3) a = " << a << endl; - - increase(increase(increase(a))); - cout << "4) a = " << a << endl; -} - - - -/* - Что напечатает данная программа? -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/01ref/14problem_1.cpp b/seminar01_overload/classroom_tasks/code/01ref/14problem_1.cpp deleted file mode 100644 index 8458de8..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/14problem_1.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Задача: - - Напишите функцию multiplyBy2, которая принимает число по ссылке и увеличивает его в 2 раза - Вызовите эту функцию из функции main - -*/ - -int main() -{ - -} - diff --git a/seminar01_overload/classroom_tasks/code/01ref/14problem_1_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/14problem_1_solution.cpp deleted file mode 100644 index 8a264b1..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/14problem_1_solution.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include -using std::cout, std::endl; - - -void multiplyBy2(int& a) -{ - a *= 2; -} - -int main() -{ - int x = 10; - multiplyBy2(x); - cout << x << endl; -} - diff --git a/seminar01_overload/classroom_tasks/code/01ref/15problem_2.cpp b/seminar01_overload/classroom_tasks/code/01ref/15problem_2.cpp deleted file mode 100644 index 39c5515..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/15problem_2.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Задача: - - Напишите функцию sumAndSave, которая должна принимать 3 аргумента - Первые два аргумента по значению - Третий аргумент по ссылке - - Функция должна складывать первые 2 аргумента и сохранять результат по третей ссылке - - Вызовите эту функцию из функции main - -*/ - -int main() -{ - -} - diff --git a/seminar01_overload/classroom_tasks/code/01ref/15problem_2_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/15problem_2_solution.cpp deleted file mode 100644 index dffaf64..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/15problem_2_solution.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Задача: - - Напишите функцию sumAndSave, которая должна принимать 3 аргумента - Первые два аргумента по значению - Третий аргумент по ссылке - - Функция должна складывать первые 2 аргумента и сохранять результат по третей ссылке - - Вызовите эту функцию из функции main - -*/ - -void sumAndSave(int a, int b, int& c) -{ - c = a + b; -} - - -int main() -{ - int x = 10, y = 20; - int z; - - sumAndSave(x, y, z); - cout << z << endl; - - - sumAndSave(70, 80, z); - cout << z << endl; -} - diff --git a/seminar01_overload/classroom_tasks/code/01ref/15problem_3.cpp b/seminar01_overload/classroom_tasks/code/01ref/15problem_3.cpp deleted file mode 100644 index 844c8cc..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/15problem_3.cpp +++ /dev/null @@ -1,28 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Задача: - - Напишите функцию - - void calculateLetters(char str[], int& numLetters) - - Которая будет принимать на вход строку и считать количество строчных букв в этой строке - Строчные буквы - это символы от 'a' и до 'z' - - Например, вызов calculateLetters("ab54AB,gd1:e", x) должен сохранить число 5 в переменную x - - -*/ - -int main() -{ - - int x; - calculateLetters("ab54AB,gd1:e", x); - cout << x << endl; - -} - diff --git a/seminar01_overload/classroom_tasks/code/01ref/15problem_3_solution.cpp b/seminar01_overload/classroom_tasks/code/01ref/15problem_3_solution.cpp deleted file mode 100644 index 7cf9e5c..0000000 --- a/seminar01_overload/classroom_tasks/code/01ref/15problem_3_solution.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include -using std::cout, std::endl; - - - - -void calculateLetters(char str[], int& numLetters) -{ - numLetters = 0; - for (int i = 0; str[i] != '\0'; ++i) - { - if (str[i] >= 'a' && str[i] <= 'z') - numLetters += 1; - } -} - -int main() -{ - int x; - calculateLetters("ab54AB,gd1:e", x); - cout << x << endl; -} - diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/00c_functions.c b/seminar01_overload/classroom_tasks/code/02function_overload/00c_functions.c deleted file mode 100644 index b478e0b..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/00c_functions.c +++ /dev/null @@ -1,61 +0,0 @@ -#include - -/* - Это программа на языке C и компилировать её надо так: - gcc 00cfunctions.c - - - Известно, что в языке C нельзя создать две функции с одинаковым названием - Но часто требуется написать функции, которые будут делать похожие вещи, но для разных типов данных. - Простейший пример -- математические функции для разных численных типов данных - - В языке C эта проблема решается так, что функциям даются немного различающиеся имена - - - В данном примере мы создали функции для вычисления абсолютного значения для типов int и double - Всё работает хорошо, пока мы соблюдаем типы данных и функции - - Но стоит ошибиться и произойдёт сложно выявляемая ошибка - -*/ - -int abs(int a) -{ - if (a < 0) - return -a; - else - return a; -} - -double fabs(double a) -{ - if (a < 0) - return -a; - else - return a; -} - - - - -int main() -{ - printf("%i\n", abs(-5)); - printf("%lf\n", fabs(-5.9)); - - - double x = abs(-5.9); - printf("%lf\n", x); -} - - - - -/* - Задача: - - 1) В данном примере переменная x равна ровно 5. Почему так происходит? - - 2) Что будет, если всё-таки назвать 2 функции одинаковым именем и скомпилировать программу с помощью gcc? - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/01cpp_functions.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/01cpp_functions.cpp deleted file mode 100644 index ecd9016..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/01cpp_functions.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include -using std::cout, std::endl; - -/* - Это программа на языке C++ и компилировать её надо так: - g++ 01cppfunctions.c - - - В отличии от языка C в языке C++ есть возможность создать 2 и больше разных функции с одним и тем же названием, - но с разным количеством и/или типами аргументов. - - Компилятор сам догадается, какую функцию следует вызвать в зависимости от типа аргумента. - -*/ - -int abs(int a) -{ - if (a < 0) - return -a; - else - return a; -} - -double abs(double a) -{ - if (a < 0) - return -a; - else - return a; -} - - - - -int main() -{ - cout << abs(-5) << endl; - cout << abs(-5.9) << endl; - - - double x = abs(-5.9); - cout << x << endl; -} - - - - -/* - Задачи: - - 1) Протестируйте, что компилятор действительно вызывает нужные функции - Для этого просто сделайте так, чтобы функция, которая принимает int печатала на экран слово int, - а функция, которая принимает double, печатала бы на экран слово double - - - 2) Что если на вход функции abs передать тип float? - Например, вот так: - abs(1.5f) - - Какая из функций вызовется? - - - 3) Напишите ещё одну перегрузку функции abs для типа float - Протестируйте её в функции main - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/02problem.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/02problem.cpp deleted file mode 100644 index a748b3d..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/02problem.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include -using std::cout, std::endl; - -/* - Задача: - - Напишите несколько перегруженных функций под названием max - - 1) max, который вычисляет максимум от двух чисел типа int - 2) max, который вычисляет максимум от двух чисел типа double - 3) max, который вычисляет максимум от трёх чисел типа int - 4) max, который вычисляет максимум от трёх чисел типа double - -*/ - -int max(int a, int b) -{ - if (a > b) - return a; - else - return b; -} - - - - -int main() -{ - cout << max(4.2, 2.8) << endl; // Выводит число 4 -- неправильно -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/02problem_solution.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/02problem_solution.cpp deleted file mode 100644 index 26ae5aa..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/02problem_solution.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include -using std::cout, std::endl; - - -int max(int a, int b) -{ - if (a > b) - return a; - else - return b; -} - -double max(double a, double b) -{ - if (a > b) - return a; - else - return b; -} - -int max(int a, int b, int c) -{ - int result = a; - if (b > result) - result = b; - if (c > result) - result = c; - return result; -} - -double max(double a, double b, double c) -{ - double result = a; - if (b > result) - result = b; - if (c > result) - result = c; - return result; -} - - - - -int main() -{ - cout << max(4.2, 2.8) << endl; - - cout << max(1, 2) << endl; - - cout << max(4, 2, 5) << endl; - - cout << max(1.2, 2.1, 0.5) << endl; -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/03problem.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/03problem.cpp deleted file mode 100644 index 740f833..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/03problem.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include -using std::cout, std::endl; - -/* - Задача: - - Напишите несколько перегруженных функций под названием printType - - Эти функции должны печатать тип переменной, которая поступает на вход - - - printType(15) должен напечатать int - printType(1.5) должен напечатать double - printType(1.5f); должен напечатать float - printType("Hello"); должен напечатать char[] - - book b = {"War and Peace", 900, 1200}; - printType(b); должен напечатать book - -*/ - -struct book -{ - char title[50]; - float price; - int pages; -}; - - - - - -int main() -{ - printType(15); - printType(1.5); - printType(1.5f); - printType("Hello"); - - book b = {"War and Peace", 900, 1200}; - printType(b); -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/03problem_solution.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/03problem_solution.cpp deleted file mode 100644 index a8e3098..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/03problem_solution.cpp +++ /dev/null @@ -1,66 +0,0 @@ -#include -using std::cout, std::endl; - -/* - Задача: - - Напишите несколько перегруженных функций под названием printType - - Эти функции должны печатать тип переменной, которая поступает на вход - - - printType(15) должен напечатать int - printType(1.5) должен напечатать double - printType(1.5f); должен напечатать float - printType("Hello"); должен напечатать char[] - - book b = {"War and Peace", 900, 1200}; - printType(b); должен напечатать book - -*/ - -struct book -{ - char title[50]; - float price; - int pages; -}; - - -void printType(int a) -{ - cout << "int" << endl; -} - -void printType(double a) -{ - cout << "double" << endl; -} - -void printType(float a) -{ - cout << "float" << endl; -} - -void printType(const char a[]) -{ - cout << "char[]" << endl; -} - -void printType(const book& a) -{ - cout << "book" << endl; -} - - - -int main() -{ - printType(15); - printType(1.5); - printType(1.5f); - printType("Hello"); - - book b = {"War and Peace", 900, 1200}; - printType(b); -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/04std.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/04std.cpp deleted file mode 100644 index 136311a..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/04std.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -using std::cout, std::endl; - -/* - В отличии от языка C в языке C++ стандартные математические функции уже перегружены и могут - работать с разными типами данных -*/ - - - -int main() -{ - cout << std::abs(-4) << endl; - cout << std::abs(-4.2) << endl; - cout << std::abs(-4.2f) << endl; -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/05ref_overload.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/05ref_overload.cpp deleted file mode 100644 index 65c2f55..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/05ref_overload.cpp +++ /dev/null @@ -1,67 +0,0 @@ -#include -using std::cout, std::endl; - -/* - Функции можно перегружать и по указателю и ссылке - - Но в случае с перегрузкой по ссылке могут возникнуть ситуации при которых невозможно выбрать правильный - - Например, при вызове - - int a = 10; - func(a); - - Можно выбрать функцию void func(int x) или void func(int& x) - Определить более правильную функцию в этом случае невозможно, это приведёт к ошибке -*/ - - -void func(int x) -{ - cout << "int x" << endl; -} - -void func(int* x) -{ - cout << "int* x" << endl; -} - - -void func(int& x) -{ - cout << "int& x" << endl; -} - - -int main() -{ - int a = 10; - int* p = &a; - int& r = a; - - func(a); -} - - -/* - Задачи: - - 1) Определите какая функция вызовется при следующих вызовах функции func или произойдёт ошибка - - 1) func(a) - 2) func(p) - 3) func(&a) - 4) func(20) - 5) func(r) - 6) func(&r) - - - 2) Если добавить перегрузку, принимающую по константной ссылке, то что изменится - - void func(const int& x) - { - cout << "const int& x" << endl; - } - - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/02function_overload/animals.cpp b/seminar01_overload/classroom_tasks/code/02function_overload/animals.cpp deleted file mode 100644 index 6b80feb..0000000 --- a/seminar01_overload/classroom_tasks/code/02function_overload/animals.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include -using std::cout, std::endl; - -struct Cat {}; -struct Dog {}; -struct Cow {}; - - - -void say(Cat a) -{ - cout << "Meow" << endl; -} - -void say(Dog a) -{ - cout << "Woof" << endl; -} - -void say(Cow a) -{ - cout << "Mooo" << endl; -} - - -int main() -{ - Cow x; - say(x); -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload.cpp deleted file mode 100644 index 923d93b..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload.cpp +++ /dev/null @@ -1,48 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Предположим, что мы захотели создать структуру, который будет хранить время (для простоты, только минуты и секунды) - - Нам может понадобиться функция, которая будет добавлять ко времени, некоторое количество секунд - -*/ - - -struct Time -{ - int minutes; - int seconds; -}; - -Time add(Time t, int x) -{ - Time result = t; - result.seconds += x; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -int main() -{ - Time a = {20, 10}; - Time b = add(a, 90); - - cout << b.minutes << " " << b.seconds << endl; -} - - -/* - - Задача: - - 1) Напишите функцию, которая будет складывать не время и число, а два времени - - Time add(Time ta, Time tb) - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload_solution.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload_solution.cpp deleted file mode 100644 index 07d04d3..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/00no_operator_overload_solution.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include -using std::cout, std::endl; - - -struct Time -{ - int minutes; - int seconds; -}; - -Time add(Time t, int x) -{ - Time result = t; - result.seconds += x; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -Time add(Time ta, Time tb) -{ - Time result = ta; - result.seconds += 60 * tb.minutes + tb.seconds; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -int main() -{ - Time a = {20, 10}; - Time b = add(a, 90); - Time c = add(a, b); - - cout << b.minutes << " " << b.seconds << endl; - cout << c.minutes << " " << c.seconds << endl; -} - diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload.cpp deleted file mode 100644 index 2b7275f..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Использовать функции может быть не так удобно как операторы. - Возможно было бы удобней для добавления времени использовать не функцию add, а оператор + - - Можно перегрузить оператор функцией, для этого нужно назвать функцию так: operator@ - где за место @ нужно подставить оператор, который вы хотите перегрузить - - Например, функция Time operator+(Time t, int x) перегружает оператор + для типов Time и int соответственно (обязательно в таком порядке) - Теперь, когда компилятор встретит в коде сложение с таким операндами он вызовет эту функцию - - В этом примере a + 90 при компиляции преобразуется в вызов функции operator+(a, 90) - -*/ - - -struct Time -{ - int minutes; - int seconds; -}; - -Time operator+(Time t, int x) -{ - Time result = t; - result.seconds += x; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -int main() -{ - Time a = {20, 10}; - Time b = a + 90; - - cout << b.minutes << " " << b.seconds << endl; -} - - -/* - - Задача: - - 1) Что если операторы сложения поменяются местами - Time b = 90 + a; - Сработает ли в этом случае наша функция operator+ и, если нет, что нужно добавить, чтобы такое сложение сработало? - - - 2) Напишите перегруженный оператор, который будет складывать не время и число, а два времени - - Time operator+(Time ta, Time tb) - - - - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload_solution.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload_solution.cpp deleted file mode 100644 index 1b5d7af..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/01_operator_overload_solution.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include -using std::cout, std::endl; - - -struct Time -{ - int minutes; - int seconds; -}; - -Time operator+(Time t, int x) -{ - Time result = t; - result.seconds += x; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - -Time operator+(int x, Time t) -{ - return t + x; -} - -Time operator+(Time ta, Time tb) -{ - Time result = ta; - result.seconds += 60 * tb.minutes + tb.seconds; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -int main() -{ - Time a = {20, 10}; - Time b = a + 90; - Time c = 90 + a; - Time d = a + b; - - cout << b.minutes << " " << b.seconds << endl; - cout << c.minutes << " " << c.seconds << endl; - cout << d.minutes << " " << d.seconds << endl; - -} diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/02_operator_unary.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/02_operator_unary.cpp deleted file mode 100644 index 2c8dac3..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/02_operator_unary.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Помимо перегрузки операторов, принимающих 2 аргумента (бинарных) - можно перегружать и унарные операторы - принимающие один аргумент - - При этом, так как operator+ это функция, то работает перегрузка функций - - -*/ - - -struct Time -{ - int minutes; - int seconds; -}; - -Time operator+(Time ta, Time tb) -{ - cout << "binary operator +" << endl; - - Time result = ta; - result.seconds += 60 * tb.minutes + tb.seconds; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - -Time operator+(Time t) -{ - cout << "unary operator +" << endl; - - return t; -} - - -int main() -{ - Time a = {20, 10}; - Time b = {40, 30}; - - Time c = a + b; - Time d = +a; - - cout << c.minutes << " " << c.seconds << endl; - cout << d.minutes << " " << d.seconds << endl; -} - - -/* - - Задача: - - 1) Что если операторы сложения поменяются местами - Time b = 90 + a; - Сработает ли в этом случае наша функция operator+ и, если нет, что нужно добавить, чтобы такое сложение сработало? - - - 2) Напишите перегруженный оператор, который будет складывать не время и число, а два времени - - Time operator+(Time ta, Time tb) - - - - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/03bool.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/03bool.cpp deleted file mode 100644 index 3925c8f..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/03bool.cpp +++ /dev/null @@ -1,38 +0,0 @@ -#include -using std::cout, std::endl; - -/* - В прошлом семестре, для хранения результатов логических операций, мы использовали целочисленные типы (например int). - - В языке C++ есть встроенный тип bool, который может принимать 2 значения (true и false). - Для хранения значения логических переменных желательно использовать этот тип - - - При печати на экран с помощью std::cout переменных типа bool печатается либо 0 либо 1 - Чтобы на экран печаталось false или true нужно в std::cout передать специальный объект std::boolalpha - -*/ - - -bool isEven(int a) -{ - return a % 2 == 0; -} - -int main() -{ - bool a = isEven(10); - bool b = isEven(15); - bool c = a || b; - - - if (c) - cout << "Yes" << endl; - else - cout << "No" << endl; - - cout << c << endl; - cout << std::boolalpha << c << endl; -} - - diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators.cpp deleted file mode 100644 index 6d8204a..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Помимо арифметических операторов можно перегружать и операторы сравнения (и многие другие операторы) - Желательно, чтобы операторы сравнения возвращали bool -*/ - - -struct Time -{ - int minutes; - int seconds; -}; - -Time operator+(Time ta, Time tb) -{ - Time result = ta; - result.seconds += 60 * tb.minutes + tb.seconds; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -bool operator>(Time ta, Time tb) -{ - bool result = false; - - if (ta.minutes > tb.minutes) - result = true; - else if (ta.minutes == tb.minutes && ta.seconds > tb.seconds) - result = true; - - return result; -} - - -int main() -{ - Time a = {10, 20}; - Time b = {10, 40}; - Time c = {0, 20}; - - cout << std::boolalpha; - cout << (a > b) << endl; - cout << (b > a) << endl; - cout << (a + c > b) << endl; -} - - -/* - - Задача: - - 1) Заметьте, что при выводе на экран сравнение было взято в скобки - cout << (a > b) << endl; - - Что будет, если эти скобки не писать и почему - cout << a > b << endl; - - - 2) Напишите перегруженные операторы < >= <= == != для сравнения объектов структур типа Time друг с другом - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators_solution.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators_solution.cpp deleted file mode 100644 index d0d2431..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/04_comparison_operators_solution.cpp +++ /dev/null @@ -1,110 +0,0 @@ -#include -using std::cout, std::endl; - - -/* - Помимо арифметических операторов можно перегружать и операторы сравнения (и многие другие операторы) - Желательно, чтобы операторы сравнения возвращали bool -*/ - - -struct Time -{ - int minutes; - int seconds; -}; - -Time operator+(Time ta, Time tb) -{ - Time result = ta; - result.seconds += 60 * tb.minutes + tb.seconds; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -bool operator>(Time ta, Time tb) -{ - bool result = false; - - if (ta.minutes > tb.minutes) - result = true; - else if (ta.minutes == tb.minutes && ta.seconds > tb.seconds) - result = true; - - return result; -} - - -bool operator==(Time ta, Time tb) -{ - bool result = false; - if (ta.minutes == tb.minutes && ta.seconds == tb.seconds) - result = true; - - return result; -} - -bool operator!=(Time ta, Time tb) -{ - return !(ta == tb); -} - - -bool operator>=(Time ta, Time tb) -{ - return ta > tb || ta == tb; -} - - -bool operator<(Time ta, Time tb) -{ - return !(ta >= tb); -} - - -bool operator<=(Time ta, Time tb) -{ - return !(ta > tb); -} - - - - - -int main() -{ - Time a = {10, 20}; - Time b = {10, 40}; - Time c = {0, 20}; - - cout << std::boolalpha; - cout << (a == b) << endl; - cout << (a != b) << endl; - - cout << (a < b) << endl; - cout << (a <= b) << endl; - cout << (a > b) << endl; - cout << (a >= b) << endl; - cout << (a + c >= b) << endl; -} - - -/* - - Задача: - - 1) Заметьте, что при выводе на экран сравнение было взято в скобки - cout << (a > b) << endl; - - Что будет, если эти скобки не писать и почему - cout << a > b << endl; - - Ошибка происходит из-за того, что приоритет операции << выше, чем у операций сравнения - В результате сначала проводится - cout << a - затем получившийся объект сравнивается с b. Это и приводит к ошибке. -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload.cpp deleted file mode 100644 index 05fd9eb..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#include -using std::cout, std::endl; - -/* - Перегрузка оператора << для вывода на экран - - Напомним, что объект под названием cout имеет тип ostream (сокращение от output stream - выходной поток) - и хранится в библиотеке iostream в пространстве имён std - - То есть где-то внутри библиотеки iostream объявлена глобальная переменная по имени cout типа ostream - ostream cout; - - - Мы можем перегрузить оператор << с первым аргументом типа std::ostream, а вторым аргументом - нашим типом, - чтобы удобно выводить на экран объекты нашего типа. - -*/ - - - -struct Time -{ - int minutes; - int seconds; -}; - - -void operator<<(std::ostream& out, Time t) -{ - out << t.minutes << ":" << t.seconds; -} - - -int main() -{ - Time a = {10, 20}; - cout << a; -} - - -/* - Задача: - - cout << a; работает, но - cout << a << endl; выдаёт ошибку в данной программе. - - Из-за чего это происходит и как исправить эту ошибку? - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload_solution.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload_solution.cpp deleted file mode 100644 index c035ba0..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/05iostream_overload_solution.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include -using std::cout, std::endl; - - - -struct Time -{ - int minutes; - int seconds; -}; - - -Time operator+(Time ta, Time tb) -{ - Time result = ta; - result.seconds += 60 * tb.minutes + tb.seconds; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -std::ostream& operator<<(std::ostream& out, Time t) -{ - out << t.minutes << ":" << t.seconds; - return out; -} - - -int main() -{ - Time a = {10, 20}; - Time b = {15, 50}; - - cout << a << endl << b << endl; - cout << a + b << endl; -} - - -/* - Задача: - - cout << a; работает, но - cout << a << endl; выдаёт ошибку в данной программе. - - Из-за чего это происходит и как исправить эту ошибку? - - - Решение: - - Ошибка происходила из-за того, что оператор << ничего не возвращал. - - В строке cout << a << endl; - результат cout << a был void и к нему нельзя применить оператор << ещё раз. - - - Результат cout << a должен быть тоже быть равен cout - Но, поскольку глобальный объект cout копировать мы не можем, у нас остаётся единственный выход: - принимать и возвращать объект cout по ссылке. - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/06operator_overload.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/06operator_overload.cpp deleted file mode 100644 index bdfcbfe..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/06operator_overload.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include -using std::cout, std::endl; - -struct Complex -{ - float re, im; -}; - -Complex operator+(Complex first, Complex second) -{ - Complex result = {first.re + second.re, first.im + second.im}; - return result; -} - -int main() -{ - Complex z1 = {3, 7}; - Complex z2 = {2, -4}; - - Complex z = z1 + z2; - cout << z.re << " + " << z.im << "i" << endl; -} - -/* - Задачи: - - 1) Перегрузите следующие операторы: - - Вычитание - - Умножение - - Деление - - Унарный минус - - Унарный плюс - - Сравнение == - - Сопряжение - это операция, которая меняет знак мнимой части комплексного числа - Для сопряжения используйте оператор унарная звёздочка * - - 2) Перегрузите оператор вывода << - - 3) Напишите функцию exp(z) - - - - /* - cout << z1 - z2 << endl; - cout << z1 * z2 << endl; - cout << z1 / z2 << endl; - cout << -z1 << endl; - cout << *z1 << endl; // (Комплексно-сопряжённое) - - z = exp(z1 + z2)/(z1 * z2); - cout << z << endl; - */ diff --git a/seminar01_overload/classroom_tasks/code/03operator_overload/setw.cpp b/seminar01_overload/classroom_tasks/code/03operator_overload/setw.cpp deleted file mode 100644 index 27afe6a..0000000 --- a/seminar01_overload/classroom_tasks/code/03operator_overload/setw.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include -#include -using std::cout, std::endl; - - -/* - В библиотеки iomanip содержатся специальные функции, для работы с потоками ostream - - setw - установить минимальный размер в символах для печати следующего объекта - setfill - если размер печати меньше минимального, то замостить оставшееся соответствующим символом - - setprecision - установить точность (для вещественных чисел) -*/ - - -struct Time -{ - int minutes; - int seconds; -}; - - -Time operator+(Time ta, Time tb) -{ - Time result = ta; - result.seconds += 60 * tb.minutes + tb.seconds; - - result.minutes += (result.seconds / 60); - result.seconds %= 60; - - return result; -} - - -std::ostream& operator<<(std::ostream& out, Time t) -{ - out << std::setfill('0') << std::setw(2) << t.minutes << ":" << - std::setfill('0') << std::setw(2) << t.seconds; - return out; -} - - -int main() -{ - Time a = {1, 5}; - Time b = {4, 20}; - - cout << a << endl << b << endl; - cout << a + b << endl; -} - - diff --git a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast.cpp b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast.cpp deleted file mode 100644 index 8d17b7a..0000000 --- a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include -#include -using std::cout, std::endl; - - -/* - В отличии от языка C, язык C++ не делает неявное преобразование типов указателей. - - Рассмотрим, например, код: - - int a = 10; - char* p = &a; - - В языке C такой код сработает, несмотря на то, что в строке char* p = &a; слева стоит указатель типа char* - а справа объект типа int*. Будет произведено неявное преобразование типов указателей. - - В языке C++ такой код приведёт к ошибке, так как C++ не преобразует указатели неявно. - - - - Рассмотрим, например, код: - - int* q = malloc(10 * sizeof(int)); - - В языке C такой код сработает, несмотря на то, что слева стоит указатель типа int* - а справа объект типа void* (malloc возвращает указатель типа void*). - Будет произведено неявное преобразование типов указателей. - - В языке C++ такой код приведёт к ошибке, так как C++ не преобразует указатели неявно. -*/ - - - -int main() -{ - int a = 10; - char* p = &a; - - - int* q = malloc(10 * sizeof(int)); -} - - - - -/* - - Задача: - - Исправьте ошибки компиляции, явно приведя указатель к правильным типам. - -*/ \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution1.cpp b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution1.cpp deleted file mode 100644 index af90543..0000000 --- a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution1.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include -#include -using std::cout, std::endl; - - -int main() -{ - int a = 10; - char* p = (char*)&a; - - - int* q = (int*)malloc(10 * sizeof(int)); -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution2.cpp b/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution2.cpp deleted file mode 100644 index 1ab4b63..0000000 --- a/seminar01_overload/classroom_tasks/code/04other/00pointer_cast_solution2.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -using std::cout, std::endl; - - -/* - В языке C++ желательно использовать более безопасное приведение типов static_cast -*/ - -int main() -{ - int a = 10; - char* p = static_cast(&a); - - - int* q = static_cast(malloc(10 * sizeof(int))); -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/04other/01nulptr.cpp b/seminar01_overload/classroom_tasks/code/04other/01nulptr.cpp deleted file mode 100644 index 7230ba4..0000000 --- a/seminar01_overload/classroom_tasks/code/04other/01nulptr.cpp +++ /dev/null @@ -1,50 +0,0 @@ -#include - -/* - Новое специальное нулевое значение для указателя: nullptr - В языке C для этой цели использовался NULL, который был просто числом 0 - - Если определить NULL так: - - #define NULL (void*)0 - - То, в отличии от языка C, в языке C++ простая строка вида: - - int* p = NULL; - - не сработает, так как слева стоит int* а справа void* - - - Если определить NULL так: - - #define NULL 0 - - то в C++ могут возникнуть проблемы с перегрузкой, как это показано ниже. - -*/ - -void print(int value) -{ - printf("Int: %d\n", value); -} - -void print(void* pointer) -{ - printf("Pointer: %p\n", pointer); -} - -int main() -{ - void* p1 = NULL; - void* p2 = nullptr; - - // Всё ОК (компилятор может выбрать функцию): - print(p1); - print(p2); - - // Тут неверно (компилятор не может выбрать перегруженную функцию, произойдёт ошибка): - print(NULL); - - // Тут всё OK: - print(nullptr); -} \ No newline at end of file diff --git a/seminar01_overload/classroom_tasks/code/04other/02default_arguments.cpp b/seminar01_overload/classroom_tasks/code/04other/02default_arguments.cpp deleted file mode 100644 index fcbc7bc..0000000 --- a/seminar01_overload/classroom_tasks/code/04other/02default_arguments.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include -using std::cout, std::endl; - -/* - В отличии от языка C, в C++ можно задавать значения по умолчанию - для аргументов функций - - Функцию printSquare можно вызвать с одним, двумя или тремя - параметрами. Аргументы width и height будут заданы аргументами по умолчанию. - Если передаваемых аргументов будет меньше трёх. -*/ - -void printSquare(char c, int width = 10, int height = 5) -{ - for (int i = 0; i < width; i++) - { - for (int j = 0; j < height; j++) - { - cout << c; - } - cout << endl; - } -} - -int main() -{ - printSquare('+', 6, 4); - printSquare('#', 15); - printSquare('O'); - - -} - - -/* - Задание: - - 1) Написать функцию: - void print(char str[], bool isCapitalized = false) - Которая будет просто печатать строку str, если isCapitalized = false, - а если isCapitalized = true, то будет печатать всю строку в верхнем регистре -*/ \ No newline at end of file diff --git a/seminar01_overload/homework/homework_overload.tex b/seminar01_overload/homework/homework_overload.tex deleted file mode 100644 index 74767fc..0000000 --- a/seminar01_overload/homework/homework_overload.tex +++ /dev/null @@ -1,160 +0,0 @@ -\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{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 -} - - -\title{Семинар \#1: Ссылки и перегрузка операторов. Домашнее задание.\vspace{-5ex}}\date{}\maketitle -\subsection*{Пространство имён:} -\begin{itemize} -\item Создайте пространство имён по имени \texttt{myspace}. В этом пространстве имён создайте функцию \\ - \texttt{void print\_n\_times(char str[], int n = 10)}, которая будет печатать строку \texttt{str} \texttt{n} раз. Для печати используйте \texttt{std::cout} из библиотеки \texttt{iostream}. Вызовите эту функцию из \texttt{main}. -\end{itemize} - -\subsection*{Ссылки:} -\begin{itemize} -\item Напишите функцию \texttt{cube}, которая будет принимать одно число типа \texttt{int} и возводить его в куб. Используйте ссылки. Вызовите эту функцию из функции \texttt{main}. -\item Напишите функцию \texttt{void count\_letters(char str[], int\& n\_letters, int\& n\_digits, int\& n\_other)}, которая будет принимать на вход строку \texttt{str} и подсчитывать число букв и цифр в этой строке. Количество букв нужно записать в переменную \texttt{n\_letters}, количество цифр -- в переменную \texttt{n\_digits}, а количество остальных символов -- в переменную \texttt{n\_other}. Вызвать эту функцию из функции \texttt{main}. -\end{itemize} - -\subsection*{Перегрузка операций:} -В файлах \texttt{code/complex.h} и \texttt{code/complex.cpp} лежит реализация комплексного числа с перегруженными операторами. Используйте его в качестве примера для решения задач этого раздела: -\begin{itemize} -\item Создайте структуру \texttt{Vector3f} - вектор в трёхмерном пространстве с полями \texttt{x, y, z} типа \texttt{float} в качестве координат. Перегрузите следующие операторы для работы с вектором. Для передачи вектора в функции используте ссылки и, там где возможно, модификатор \texttt{const}. - \begin{itemize} - \item Сложение векторов (\texttt{+}) - \item Вычитание (\texttt{-}) - \item Умножение вектора на число типа \texttt{float} (число \texttt{*} вектор и вектор \texttt{*} число) - \item Деление вектора на число типа \texttt{float} (вектор \texttt{/} число) - \item Скалярное произведение (\texttt{*}) - \item Унарный \texttt{-} - \item Унарный \texttt{+} - \item Проверка на равенство \texttt{==} (должна возвращать тип \texttt{bool}) - \item Проверка на неравенство \texttt{!=} (должна возвращать тип \texttt{bool}) - \item Операторы \texttt{+=} и \texttt{-=} (вектор \texttt{+=} вектор) - \item Операторы \texttt{*=} и \texttt{/=} (вектор \texttt{*=} число) - \item Оператор вывода \texttt{ostream >{}>} вектор. Выводите вектор в виде \texttt{(x, y, z)}. - \item Оператор ввода \texttt{istream <{}<} вектор - \item Функция \texttt{float squared\_norm(const Vector3f\& a)}, которая вычисляет квадрат нормы вектора. - \item Функция \texttt{float norm(const Vector3f\& a)}, которая вычисляет норму вектора. - \item Функция \texttt{void normalize(Vector3f\& a)}, которая нормализует вектор \texttt{a}. - \end{itemize} -\item Поместите весь ваш код в отдельный файл \texttt{vector3f.h} и подключите к файлу \texttt{main.cpp}. -\item Протестируйте ваши функции: -\begin{lstlisting} -#include -#include "vector3f.h" - -using namespace std; - - -int main() { - Vector3f a = {1.0, 2.0, -2.0}; - Vector3f b = {4.0, -1.0, 3.0}; - cout << "a = " << a << endl << "b = " << b << endl; - cout << "a + b = " << a + b << endl; - cout << "-a = " << -a << endl; - cout << "Scalar product of a and b = " << a * b << endl; - a /= 5; - cout << "a after a /= 5;" << a << endl - normalize(b); - cout << "Normalized b:" << b << endl - a += b; - cout << "a after a+= b;" << a << endl; -} -\end{lstlisting} - -\end{itemize} -\subsection*{Задача об убегающей точке} -\begin{itemize} -\item Предположим, что у нас есть комплексная функция $f(z) = z^2$. Выберем некоторое комплексное число $z_0$ и будем проводить следующие итерации: -\begin{equation} -\label{fractalseq} -z_1 = f(z_0)\quad z_2 = f(z_1)\quad ...\quad z_{k+1} = f(z_k)\quad ... -\end{equation} -В зависимости от выбора точки $z_0$ эта последовательность либо разойдётся, либо останется в некоторой ограниченной области. Будем называть точку $z_0$ убегающей, если $z_k \rightarrow \infty$ при $k \rightarrow \infty$. Найдите область неубегания для функции $z^2$, т.е. множество всех начальных значений $z_0$, при которых последовательность (\ref{fractalseq}) остаётся ограниченной (это можно сделать в уме). \\ - -\item \textbf{Julia:} Для функции $f(z) = z^2$ эта область тривиальна, но всё становится сложней для функции вида $f(z) = z^2 + c$, где $c$ -- некоторое комплексное число. Численно найдите область неубегания для функций такого вида. Для этого создайте изображение размера 800x800, покрывающую область \texttt{[-2:2]x[-2:2]} на комплексной плоскости. Для каждой точки этой плоскости проведите $N \approx 20$ итераций и, в зависимости от результата, окрасьте пиксель в соответствующий цвет (цвет можно подобрать самим, он должен быть пропорционален значению $z_N$ - меняться от яркого если $z_N$ мало и до черного если $z_N$ большое). Используйте класс Complex и перегруженные операторы. Пример работы с изображениями в формате \texttt{ppm} можно посмотреть в файле \texttt{complex\_image.cpp}. Программа должна создавать файл \texttt{julia.ppm}. - -\begin{center} -\includegraphics[scale=0.7]{../images/complexplane.png} -\end{center} - -\item Нарисуте изображение для $c = -0.4 + 0.6i$;\quad $c = -0.70 - 0.38i$;\quad $c = -0.80 + 0.16i$\quad и\quad $c = 0.280 + 0.011i$. -\item Добавьте параметры командной строки: 2 вещественных числа, соответствующие комплексному числу $c$, и целое число итераций $N$. -\item \textbf{Mandelbrot:} Зафиксируем теперь $z_0 = 0$ и будем менять $c$. Численно найдите все параметры $c$, для которых точка $z_0$ не является убегающей. Для этого создайте изображение размера 800x800, покрывающую область \texttt{[-2:2]x[-2:2]} возможных значений $c$ на комплексной плоскости. Программа должна создавать файл \texttt{mandelbrot.ppm}. - -\item \textbf{Анимация:} Программа \texttt{complex\_movie.cpp} создаёт множество изображений и сохраняет их в папку \texttt{animation} (если у вас нет такой папки -- создайте её). Эти изображения представляют собой отдельные кадры будущей анимации. Чтобы их объединить в одно видео можно использовать программу ffmpeg (Нужно скачать тут: \href{https://www.ffmpeg.org/}{www.ffmpeg.org} и изменить переменную среды \texttt{PATH} в настройках Windows или Linux). После этого можно будет объединить все изображения в одно видео такой командой: -\begin{verbatim} -ffmpeg -r 60 -i animation/complex_%03d.ppm complex_movie.mp4 -\end{verbatim} -Создайте анимацию из изображений множеств Julia при $c$ линейно меняющемся от $(-1.5 - 0.5i)$ до $i$. -\end{itemize} -\end{document} \ No newline at end of file diff --git a/seminar01_overload/homework/homework_overload.pdf b/seminar01_overload/homework_overload.pdf similarity index 100% rename from seminar01_overload/homework/homework_overload.pdf rename to seminar01_overload/homework_overload.pdf diff --git a/seminar01_overload/images/complexplane.png b/seminar01_overload/images/complexplane.png deleted file mode 100644 index 729c878774100375b41dce862273f225364b0022..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52616 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - z0 - z02 - - - - z1 - c - - z2 - - - z12 - - z3 - - - z22 - - 1 - - -1 - Re - Im - - - - diff --git a/seminar02_encapsulation/homework/code/0circle/circle.cpp b/seminar02_encapsulation/0circle/circle.cpp similarity index 100% rename from seminar02_encapsulation/homework/code/0circle/circle.cpp rename to seminar02_encapsulation/0circle/circle.cpp diff --git a/seminar02_encapsulation/homework/code/0circle/circle.h b/seminar02_encapsulation/0circle/circle.h similarity index 100% rename from seminar02_encapsulation/homework/code/0circle/circle.h rename to seminar02_encapsulation/0circle/circle.h diff --git a/seminar02_encapsulation/homework/code/0circle/main.cpp b/seminar02_encapsulation/0circle/main.cpp similarity index 100% rename from seminar02_encapsulation/homework/code/0circle/main.cpp rename to seminar02_encapsulation/0circle/main.cpp diff --git a/seminar02_encapsulation/homework/code/0circle/point.cpp b/seminar02_encapsulation/0circle/point.cpp similarity index 100% rename from seminar02_encapsulation/homework/code/0circle/point.cpp rename to seminar02_encapsulation/0circle/point.cpp diff --git a/seminar02_encapsulation/homework/code/0circle/point.h b/seminar02_encapsulation/0circle/point.h similarity index 100% rename from seminar02_encapsulation/homework/code/0circle/point.h rename to seminar02_encapsulation/0circle/point.h diff --git a/seminar02_encapsulation/homework/code/1number/main.cpp b/seminar02_encapsulation/1number/main.cpp similarity index 100% rename from seminar02_encapsulation/homework/code/1number/main.cpp rename to seminar02_encapsulation/1number/main.cpp diff --git a/seminar02_encapsulation/homework/code/1number/number.cpp b/seminar02_encapsulation/1number/number.cpp similarity index 100% rename from seminar02_encapsulation/homework/code/1number/number.cpp rename to seminar02_encapsulation/1number/number.cpp diff --git a/seminar02_encapsulation/homework/code/1number/number.h b/seminar02_encapsulation/1number/number.h similarity index 100% rename from seminar02_encapsulation/homework/code/1number/number.h rename to seminar02_encapsulation/1number/number.h diff --git a/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.pdf b/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.pdf deleted file mode 100644 index cddf46a43a31e5d9170abfb70f5b1e7405809e97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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| diff --git a/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.tex b/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.tex deleted file mode 100644 index 3b85f65..0000000 --- a/seminar02_encapsulation/classroom_tasks/classroom_tasks_encapsulation.tex +++ /dev/null @@ -1,405 +0,0 @@ -\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 deleted file mode 100644 index e980ef0..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/00oop.cpp +++ /dev/null @@ -1,34 +0,0 @@ -/* - Объектно-ориентированное программирование (ООП) основано на представлении программы в виде совокупности взаимодействующих объектов - - Основные принципы ООП: абстракция, инкапсуляция, наследование и полиморфизм - - - Абстракция: использование только тех характеристик объекта, которые с достаточной точностью представляют его в данной системе. - - В каком-то смысле обычные структуры из языка 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 deleted file mode 100644 index 592e979..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/01book.c +++ /dev/null @@ -1,54 +0,0 @@ -/* - Хоть язык 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 deleted file mode 100644 index 76c53c1..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/02book.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - Эта программа написана на языке 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 deleted file mode 100644 index 6b3cfce..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/03book_encapsulation.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - Инкапсуляция - это объединение данных и функций для работы с ними - - Объекты-данные, составляющие наш объект, называются полями - Функции для работы с этими данными называются методами - То есть у структуры 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 deleted file mode 100644 index cf02e21..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - Задачи: Представлена структура 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 deleted file mode 100644 index 975b00b..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/04problem_movie_solution.cpp +++ /dev/null @@ -1,49 +0,0 @@ -#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 deleted file mode 100644 index c3f4bd7..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/05this_pointer.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - Ключевое слово 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 deleted file mode 100644 index 073fd86..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/06constructor.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* - Конструктор - - Конструктор - это специальный метод, который вызывается при создании объекта - - Конструктор 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 deleted file mode 100644 index 7d423e9..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/06constructor_solution.cpp +++ /dev/null @@ -1,69 +0,0 @@ -#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 deleted file mode 100644 index 7c0209f..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/07public_private.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - Сокрытие данных - это разделение данных и функций абстрактного объекта на открытые (видимые извне) и скрытые (видимые только внутри самого объекта) - В языке 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 deleted file mode 100644 index edc10b4..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* - Синтаксис инициализации с помощью коструктора - - Язык 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 deleted file mode 100644 index 8ce1003..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/08constructor_calls_solution.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#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 deleted file mode 100644 index d1b1701..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/09class.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - Классы. Ключевое слово 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 deleted file mode 100644 index 8966466..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/0book/10m.cpp +++ /dev/null @@ -1,56 +0,0 @@ -/* - Некоторые замечания по оформлению - - 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 deleted file mode 100644 index 9469d8f..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/1point/00point.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - Это программа на языке 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 deleted file mode 100644 index 6533acb..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/1point/00point_solution.c +++ /dev/null @@ -1,63 +0,0 @@ -/* - Это программа на языке 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 deleted file mode 100644 index 62d5ae0..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/1point/01point.cpp +++ /dev/null @@ -1,84 +0,0 @@ -/* - Это программа на языке 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 deleted file mode 100644 index 1cbfbbe..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/1point/01point_solution.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* - Обратите внимание на следующие моменты в этом решении: - - 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 deleted file mode 100644 index 5a5798f..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/1point/02operator_order.cpp +++ /dev/null @@ -1,48 +0,0 @@ -#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 deleted file mode 100644 index 8675d08..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/1point/02operator_order_solution.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - Решения: - - 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 deleted file mode 100644 index d9269a0..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/1point/03setters_getters.cpp +++ /dev/null @@ -1,124 +0,0 @@ -/* - До этого момента поля 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 deleted file mode 100644 index 04955a2..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/00string.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* - Создадим свою строку - - Один из самых главных недостатков языка 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 deleted file mode 100644 index 11603f4..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/01constructor.cpp +++ /dev/null @@ -1,165 +0,0 @@ -/* - - Создадим строку, которая при создании (т.е в конструкторе) будет автоматически выделять необходимую память в Куче. - В чём-то реализация этой строки будет похожа на реализацию динамического массива из прошлого семестра. - - У класса строки 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 deleted file mode 100644 index e3e6699..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/01constructor_solution.cpp +++ /dev/null @@ -1,104 +0,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) - { - 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 deleted file mode 100644 index fbee670..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/02delegated_constructor.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* - Делегирующий конструктор - - В разных конструкторах может быть повторяющийся код. - Повторений кода иногда можно избежать если писать один конструктор на основе уже написанного. - - Это можно сделать с помощью синтаксиса так называемого делегирующего конструктора - После объявления конструктора, но перед его телом можно написать двоеточие и вызвать другой конструктор - - Например: - - 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 deleted file mode 100644 index 6557d30..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/03destructor.cpp +++ /dev/null @@ -1,113 +0,0 @@ -/* - В конструкторе мы выделили память с 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 deleted file mode 100644 index 7dc87fb..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition.cpp +++ /dev/null @@ -1,94 +0,0 @@ -/* - Оператор сложения - - Оператор сложения для строк должен принимать 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 deleted file mode 100644 index b59f25e..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution1.cpp +++ /dev/null @@ -1,86 +0,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'; - } - - 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 deleted file mode 100644 index c3b3eaf..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/04operator_addition_solution2.cpp +++ /dev/null @@ -1,86 +0,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]; 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 deleted file mode 100644 index 4775647..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/* - Оператор присваивания - - Оператор присваивания можно сделать только в виде метода - Такой метод должен - - принимать один аргумент - это правый аргумент оператора присваивания, - - менять объект, вызвавший оператор (то есть левый аргумент оператора присваивания) - - возвращать ссылку на объект, вызвавший оператор (то есть объект слева от оператора присваивания) - - - Почему оператор присваивания должен возвращать ссылку на левый аргумент? - Чтобы оператор присваивания работал аналогично тому как работает оператор присваивания для обычных типов - - Рассмотрим следующий пример: - - 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 deleted file mode 100644 index 9f74f17..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/05operator_assignment_solution.cpp +++ /dev/null @@ -1,92 +0,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]; 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 deleted file mode 100644 index c00d277..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment.cpp +++ /dev/null @@ -1,132 +0,0 @@ -/* - Оператор присваивания сложения += - - Очень похож на оператор присваивания, разница только в том, каким станет левый операнд после применения этого оператора - К левому операнду в этом случае должна прибавиться копия правого оператора - - Если 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 deleted file mode 100644 index 8b06b3a..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/06operator_addition_assignment_solution.cpp +++ /dev/null @@ -1,110 +0,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]; 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 deleted file mode 100644 index 31dc20c..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt.cpp +++ /dev/null @@ -1,122 +0,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]; 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 deleted file mode 100644 index 9a51e3c..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/07operator_addition_alt_solution.cpp +++ /dev/null @@ -1,108 +0,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]; 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 deleted file mode 100644 index 74563db..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/* - Операторы сравнения == != > >= < <= - - К строкам можно применять операторы сравнения. - - Очевидно, когда строки равны: должны быть равны размеры строк (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 deleted file mode 100644 index 43e2026..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/08comparasion_operators_solution.cpp +++ /dev/null @@ -1,140 +0,0 @@ -#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 deleted file mode 100644 index 2dfb9b5..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator.cpp +++ /dev/null @@ -1,122 +0,0 @@ -/* - Операторы индексации [] - - Чтобы получить доступ к одному символу у строки в стиле 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 deleted file mode 100644 index f7ed062..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/09subscript_operator_solution.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#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 deleted file mode 100644 index 694065f..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/* - Напишем ещё 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 deleted file mode 100644 index 5f704fd..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/10reserve_and_resize_solution.cpp +++ /dev/null @@ -1,134 +0,0 @@ -#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 deleted file mode 100644 index d91d9ee..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload.cpp +++ /dev/null @@ -1,166 +0,0 @@ -/* - Считывание строки с экрана - - Помимо удобной печати на экран с помощью объекта 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 deleted file mode 100644 index 0afe413..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/11cin_string_overload_solution.cpp +++ /dev/null @@ -1,158 +0,0 @@ -#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 deleted file mode 100644 index 1868129..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/12full_string.cpp +++ /dev/null @@ -1,262 +0,0 @@ -/* - Собираем все методы вместе. Получилась строка, которой можно удобно пользоваться и не задумываться о выделении памяти. -*/ - -#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/13problem_init_vs_assignment.cpp b/seminar02_encapsulation/classroom_tasks/code/2string/13problem_init_vs_assignment.cpp deleted file mode 100644 index 1157041..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/13problem_init_vs_assignment.cpp +++ /dev/null @@ -1,142 +0,0 @@ -/* - Рассмотрим при каких условиях происходит вызов того или иного метода. - - Для этого будем использовать класс 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 deleted file mode 100644 index 4a6108b..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment.cpp +++ /dev/null @@ -1,121 +0,0 @@ -/* - Рассмотрим при каких условиях происходит вызов того или иного метода. - - Для этого будем использовать класс 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 deleted file mode 100644 index 0fdd67a..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/14problem_init_vs_assignment_solution.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - Решения: - - 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 deleted file mode 100644 index f6651cf..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton.cpp +++ /dev/null @@ -1,135 +0,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) - { - 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 deleted file mode 100644 index 3226cfd..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/15problem_pass_to_funciton_solution.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - Решения: - - 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 deleted file mode 100644 index 317e2b2..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton.cpp +++ /dev/null @@ -1,131 +0,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) - { - 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 deleted file mode 100644 index c689bb1..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/16problem_pass_to_funciton_solution.cpp +++ /dev/null @@ -1,136 +0,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) - { - 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 deleted file mode 100644 index 63fd799..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls.cpp +++ /dev/null @@ -1,149 +0,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) - { - 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 deleted file mode 100644 index 1880951..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution1.cpp +++ /dev/null @@ -1,124 +0,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) - { - 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 deleted file mode 100644 index 812c132..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/2string/17problem_constructor_calls_solution2.cpp +++ /dev/null @@ -1,116 +0,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) - { - 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 deleted file mode 100644 index 4e2e462..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/3default_methods/00special_methods.cpp +++ /dev/null @@ -1,197 +0,0 @@ -/* - Особые методы - - В прошлой части мы рассмотрели различные методы классов. Некоторые из этих методов называются особыми. - Они выделяются по сравнению с другими методами тем, что они будут создаваться автоматически даже если вы их не напишите. - К особым методам класса относятся: - - - 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 deleted file mode 100644 index 820ab32..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/3default_methods/01special_methods.cpp +++ /dev/null @@ -1,191 +0,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) - { - 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 deleted file mode 100644 index ca9eb59..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/3default_methods/02default_constructor_remark.cpp +++ /dev/null @@ -1,148 +0,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) - { - 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 deleted file mode 100644 index 03916df..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/3default_methods/03delete_keyword.cpp +++ /dev/null @@ -1,164 +0,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) - { - 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 deleted file mode 100644 index 7d42352..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/3default_methods/04implicit_cast_constructor.cpp +++ /dev/null @@ -1,188 +0,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* 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 deleted file mode 100644 index ff73301..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/3default_methods/05explicit.cpp +++ /dev/null @@ -1,147 +0,0 @@ -/* - Ключевое слово 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 deleted file mode 100644 index 9921eee..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/00point/main.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/* - Раздельная компиляция. - - В этой части мы вынесем весь код, связанный с нашим классом 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 deleted file mode 100644 index d55993e..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/01point_separate_methods/main.cpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - Вынос определений методов вне класса. - - Методы внутри класса можно только объявить, а определить их можно вне класса. - Например, метод 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 deleted file mode 100644 index 1becf58..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/main.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* - Перенос кода в заголовочный файл - - В этом примере мы перенесли весь код, связанный с классом 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 deleted file mode 100644 index f92184c..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/02point_headers/point.hpp +++ /dev/null @@ -1,39 +0,0 @@ -#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 deleted file mode 100644 index 3d5c875..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -/* - Всё что относится к классу 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 deleted file mode 100644 index e60bfbe..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/03point_headers/point.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#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 deleted file mode 100644 index 926aecf..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/main.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/* - Раздельная компиляция - - Теперь мы разделим объявления и определения всех методов класса 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 deleted file mode 100644 index 143dd83..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#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 deleted file mode 100644 index 1e48146..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/04point_separate_compilation/point.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#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 deleted file mode 100644 index d248d06..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/main.cpp +++ /dev/null @@ -1,30 +0,0 @@ -/* - Пространства имён - - - Имя 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 deleted file mode 100644 index 7a3ade1..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#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 deleted file mode 100644 index 4f0944a..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/05point_namespace/point.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#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 deleted file mode 100644 index 414a000..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string/main.cpp +++ /dev/null @@ -1,265 +0,0 @@ -/* - В данной программе содержится класс 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 deleted file mode 100644 index 3a98561..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/main.cpp +++ /dev/null @@ -1,37 +0,0 @@ -#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 deleted file mode 100644 index c082dd6..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution1/string.hpp +++ /dev/null @@ -1,214 +0,0 @@ -#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 deleted file mode 100644 index 19996c2..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/main.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/* - Компиляция: - - 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 deleted file mode 100644 index f685590..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.cpp +++ /dev/null @@ -1,204 +0,0 @@ -#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 deleted file mode 100644 index 3f87a04..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution2/string.hpp +++ /dev/null @@ -1,51 +0,0 @@ -#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 deleted file mode 100644 index ccd3472..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/main.cpp +++ /dev/null @@ -1,32 +0,0 @@ -#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 deleted file mode 100644 index bdf2abf..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.cpp +++ /dev/null @@ -1,207 +0,0 @@ -#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 deleted file mode 100644 index ca0d683..0000000 --- a/seminar02_encapsulation/classroom_tasks/code/4separate_compilation/06problem_string_solution3/string.hpp +++ /dev/null @@ -1,54 +0,0 @@ -#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/homework_encapsulation.tex b/seminar02_encapsulation/homework/homework_encapsulation.tex deleted file mode 100644 index c6e904f..0000000 --- a/seminar02_encapsulation/homework/homework_encapsulation.tex +++ /dev/null @@ -1,202 +0,0 @@ -\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} - -\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*{Класс Circle} -Допустим, что мы хотим создать программу, которая будет работать с окружностями (это может быть игра или, например, графический редактор). Для того, чтобы сделать код более понятным и удобным в использовании, мы решили создать класс окружности. Кроме того, мы решили использовать уже ранее написанный класс точки в 2D пространстве (файлы \texttt{point.h} и \texttt{point.cpp}). Создайте класс окружности, который будет включать следующие методы: -\begin{itemize} -\item Конструктор \texttt{Circle(const Point\& acenter, float aradius)}, который будет задавать поля \texttt{center} и \texttt{radius} соответстующими значениями. -\item Конструктор по умолчанию \texttt{Circle()} - задаются значения, соответствующие единичной окружности с центром в начале координат. -\item Конструктор копирования \texttt{Circle(const Circle\& circle)} -\item Сеттеры и геттеры, для полей \texttt{center} и \texttt{radius}. Поле \texttt{radius} нельзя задать отрицательным числом. При попытке задания его отрицательным числом оно должно устанавливаться в значение \texttt{0}. -\item Метод \texttt{float getArea() const}, который будет возвращать площадь поверхности круга. -\item Метод \texttt{float getDistance(const Point\& p) const}, который будет возвращать расстояние от точки \texttt{p}, до ближайшей точки окружности. -\item Метод \texttt{bool isColliding(const Circle\& c) const}, который будет возвращать \texttt{true}, если круг пересекается с кругом \texttt{c}. -\item Метод \texttt{void move(const Point\& p)}, который будет перемещать кружок на вектор \texttt{p}. -\end{itemize} -Весь начальный код содержится в папке \texttt{0circle}. При компиляции нужно указывать все \texttt{.cpp} файлы, которые вы хотите скомпилировать: -\begin{verbatim} -g++ main.cpp point.cpp -\end{verbatim} -\begin{itemize} -\item Создайте файлы \texttt{circle.h} и \texttt{circle.cpp} и перенесите реализацию класса окружности из файла \texttt{main.cpp} в эти файлы. -\end{itemize} - - -\newpage -\section*{Класс Number (большое число)} -Стандартные целочисленные типы данных, такие как \texttt{int} имеют фиксированный небольшой размер. Соответственно значения, которые можно хранить в переменных этих типов ограничены. Типичное максимальное значение \texttt{char} равно $2^7 - 1 = 127$, тип \texttt{int} обычно ограничен $2^{31}-1 = 2147483647$ и даже тип \texttt{unsigned long long} имеет ограничение в $2^{64}-1 = 1.8 * 10^{19}$. Хранить действительно большие числа в этих типах невозможно. В этом задании нужно сделать класс, с помощью которого будет удобно складывать и умножать большие целые положительные числа. Начальный код этого класса содержится в \texttt{1number/number.cpp}. Изучите этот код. - - -\begin{figure}[h!] - \centering - \includegraphics[scale=1]{../images/number1.png} - \caption{Представление числа 12345678 в памяти с помощью нашего класса Number} - \label{fig:nummber1} -\end{figure} - - -\subsection*{Задания:} -\begin{itemize} -\item \textbf{Конструктор по умолчанию:} Напишите конструктор по умолчанию \texttt{Number()}, который будет создавать число равное нулю. -\item \textbf{Конструктор копирования:} Напишите конструктор копирования \texttt{Number(const Number\& n)}. -\item \textbf{Конструктор из строки:} Напишите конструктор \texttt{Number(const char* str)}, который будет создавать большое число на основе строки. Предполагаем, что на вход конструктору всегда идёт корректная строка. Например, число из примера можно будет создать так: -\begin{lstlisting} -Number a = Number("12345678"); -\end{lstlisting} -\item \textbf{Присваивание:} Напишите оператор присваивания \texttt{Number\& operator=(const Number\& right)}. -\item \textbf{Сложение:} Напишите и протестируйте операторы сложения \texttt{operator+} и оператор присваивания сложения \texttt{operator+=}. Реализовывать оба этих оператора с нуля необязательно. Ведь, если написан один из этих операторов, то очень просто написать другой. -\item \textbf{Числа Фибоначчи:} Числа Фибоначчи задаются следующим образом: -\begin{align*} -F_0 &= 0\\ -F_1 &= 1\\ -F_n &= F_{n-1} + F_{n-2} -\end{align*} -Используйте класс \texttt{Number}, чтобы вычислить $F_{1000}$. Правильный ответ: -\begin{verbatim} -F(1000) = 43466557686937456435688527675040625802564660517371780402481729089536555417949051890 -40387984007925516929592259308032263477520968962323987332247116164299644090653318793829896964992 -8516003704476137795166849228875 -\end{verbatim} - - - - -\item \textbf{Четность:} Напишите метод \texttt{bool isEven() const}, который будет проверять является ли наше число чётным и, если это верно, возвращает \texttt{true}, в ином случае возвращает \texttt{false}. - -\item \textbf{Произведение:} Напишите метод \texttt{Number operator*(const Number\& right) const} - оператор умножения одного числа \texttt{Number} на другое. Протестируйте вашу функцию на различных примерах (умножение большого числа на большое, умножение большого числа на небольшое ($< 100$) или на ноль, умножение двух небольших чисел и т. д.).\\ -\item \textbf{Факториал:} Используйте написанный оператор для вычисления факториала от 1000. \\ -Правильный ответ: -\begin{verbatim} -1000! = 40238726007709377354370243392300398571937486421071463254379991042993851239862902059 -2044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759 -9188236277271887325197795059509952761208749754624970436014182780946464962910563938874378864 -8733711918104582578364784997701247663288983595573543251318532395846307555740911426241747434 -9347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379 -5345242215865932019280908782973084313928444032812315586110369768013573042161687476096758713 -4831202547858932076716913244842623613141250878020800026168315102734182797770478463586817016 -4365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186 -1168115536158365469840467089756029009505376164758477284218896796462449451607653534081989013 -8544248798495995331910172335555660213945039973628075013783761530712776192684903435262520001 -5888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838 -9714760885062768629671466746975629112340824392081601537808898939645182632436716167621791689 -0977991190375403127462228998800519544441428201218736174599264295658174662830295557029902432 -4153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690 -8979684825901254583271682264580665267699586526822728070757813918581788896522081643483448259 -9326604336766017699961283186078838615027946595513115655203609398818061213855860030143569452 -7224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136 -4932734975655139587205596542287497740114133469627154228458623773875382304838656889764619273 -8381490014076731044664025989949022222176590433990188601856652648506179970235619389701786004 -0811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614 -8396573822911231250241866493531439701374285319266498753372189406942814341185201580141233448 -2801505139969429015348307764456909907315243327828826986460278986432113908350621709500259738 -9863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826 -2809561214509948717012445164612603790293091208890869420285106401821543994571568059418727489 -9809425474217358240106367740459574178516082923013535808184009699637252423056085590370062427 -1243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000 -\end{verbatim} - -\item \textbf{Числа-градины:} Возьмём некоторое число $n$ и будем последовательно применять к нему следующую функцию: -\begin{equation*} -f(n) = - \begin{cases} - n / 2, &\textup{если n - четное}\\ - 3 n + 1, &\textup{если n - нечетное} - \end{cases} -\end{equation*} -В результате получится некоторая последовательность. Например, при $n = 7$ получится: -\begin{verbatim} -7 -> 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/homework/homework_encapsulation.pdf b/seminar02_encapsulation/homework_encapsulation.pdf similarity index 100% rename from seminar02_encapsulation/homework/homework_encapsulation.pdf rename to seminar02_encapsulation/homework_encapsulation.pdf diff --git a/seminar02_encapsulation/images/number1.png b/seminar02_encapsulation/images/number1.png deleted file mode 100644 index 38e585977de87e8f28f9c62fb7cf43f422f43fd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25663 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

bsR70HRbvJkkcsJBlg0~j! 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 w+{ybUx53E71S*WlHGy4{Na4ivR!s diff --git a/seminar02_encapsulation/images/number1.svg b/seminar02_encapsulation/images/number1.svg deleted file mode 100644 index f1e00e8..0000000 --- a/seminar02_encapsulation/images/number1.svg +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - - - - - - - - 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 deleted file mode 100644 index 2586af2e8d6425efe4ca7ccd964817823d4ba48c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 deleted file mode 100644 index f9a018679c77ba4360e32a8e05611e7f2457c90a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27628 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 ZRh#C9BAL??_-8HxWqI|-MY86v{|`k+GVuTa diff --git a/seminar02_encapsulation/images/string_base.svg b/seminar02_encapsulation/images/string_base.svg deleted file mode 100644 index dacd891..0000000 --- a/seminar02_encapsulation/images/string_base.svg +++ /dev/null @@ -1,344 +0,0 @@ - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - E - - l - - e - - p - - h - - a - - n - - t - - \0 - 8 - - String a - size - data - - diff --git a/seminar03_initialization/01_letter_case_switch/main.cpp b/seminar03_initialization/01_letter_case_switch/main.cpp new file mode 100644 index 0000000..c866f8b --- /dev/null +++ b/seminar03_initialization/01_letter_case_switch/main.cpp @@ -0,0 +1,22 @@ +#include +#include +#include + +using namespace std; + +string letter_case_switch(const string & str) +{ + string result = str; + if (str.size() == 0) + return result; + result[0] = + isupper(result[0]) ? tolower(result[0]) : toupper(result[0]); + return result; +} + +int main() +{ + string meow; + cin >> meow; + cout << letter_case_switch(meow) << endl; +} diff --git a/seminar03_initialization/01_letter_case_switch/main.cpp~ b/seminar03_initialization/01_letter_case_switch/main.cpp~ new file mode 100644 index 0000000..30f8ff4 --- /dev/null +++ b/seminar03_initialization/01_letter_case_switch/main.cpp~ @@ -0,0 +1,19 @@ +#include +#include +#include + +using namespace std; + +string letter_case_switch(const string& str) { + string result = str; + if (str.size() == 0) + return result; + result[0] = isupper(result[0]) ? tolower(result[0]) : toupper(result[0]); + return result; +} + +int main() { + string meow; + cin >> meow; + cout << letter_case_switch(meow) << endl; +} diff --git a/seminar03_initialization/02_repeat/a.out~ b/seminar03_initialization/02_repeat/a.out~ new file mode 100644 index 0000000000000000000000000000000000000000..7c4ca02719edeb1bba341a9f772cb2f3eefffc6f GIT binary patch literal 28401 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 literal 0 HcmV?d00001 diff --git a/seminar03_initialization/02_repeat/main.cpp b/seminar03_initialization/02_repeat/main.cpp new file mode 100644 index 0000000..480bd91 --- /dev/null +++ b/seminar03_initialization/02_repeat/main.cpp @@ -0,0 +1,48 @@ +#include +#include +#include + +using namespace std; + +string repeat1(string_view s) +{ + return string { + s} + +string { + s}; +} + +void repeat2(string & s) +{ + s += s; +} + +void repeat3(string * s) +{ + *s += *s; +} + +string *repeat4(string_view s) +{ + string *result = new string; + *result = string { + s} +string { + s}; + return result; +} + +int main() +{ + string meow; + cin >> meow; + + cout << "test of repeat1:" << endl << repeat1(meow) << endl; + + repeat2(meow); + cout << "test of repeat2:" << endl << meow << endl; + + repeat3(&meow); + cout << "test of repeat3:" << endl << meow << endl; + + cout << "test of repeat4:" << endl << *repeat4(meow) << endl; +} diff --git a/seminar03_initialization/02_repeat/main.cpp~ b/seminar03_initialization/02_repeat/main.cpp~ new file mode 100644 index 0000000..0cbb9c9 --- /dev/null +++ b/seminar03_initialization/02_repeat/main.cpp~ @@ -0,0 +1,38 @@ +#include +#include +#include + +using namespace std; + +string repeat1(string_view s) { + return string{s} + string{s}; +} + +void repeat2(string& s) { + s += s; +} + +void repeat3(string* s) { + *s += *s; +} + +string* repeat4(string_view s) { + string* result = new string; + *result = string{s} + string{s}; + return result; +} + +int main() { + string meow; + cin >> meow; + + cout << "test of repeat1:" << endl << repeat1(meow) << endl; + + repeat2(meow); + cout << "test of repeat2:" << endl << meow << endl; + + repeat3(&meow); + cout << "test of repeat3:" << endl << meow << endl; + + cout << "test of repeat4:" << endl << *repeat4(meow) << endl; +} diff --git a/seminar03_initialization/03_string_multiplication/main.cpp b/seminar03_initialization/03_string_multiplication/main.cpp new file mode 100644 index 0000000..f01e662 --- /dev/null +++ b/seminar03_initialization/03_string_multiplication/main.cpp @@ -0,0 +1,24 @@ +#include +#include + +using namespace std; + +string operator*(const string str, int n) { + string result; + for (int i = 0; i < n; ++i) + result += str; + return result; +} + +string operator*(int n, const string str) { + string result; + for (int i = 0; i < n; ++i) + result += str; + return result; +} + +int main() { + string meow; + cin >> meow; + cout << 3 * meow << endl; +} diff --git a/seminar03_initialization/04_truncate_to_dot/main.cpp b/seminar03_initialization/04_truncate_to_dot/main.cpp new file mode 100644 index 0000000..468312c --- /dev/null +++ b/seminar03_initialization/04_truncate_to_dot/main.cpp @@ -0,0 +1,22 @@ +#include +#include + +using namespace std; + +void truncateToDot(string& s) { + s.resize(s.find('.')); + s.shrink_to_fit(); +} + +int main() { + std::string a = "cat.dog.mouse.elephant.tiger.lion"; + std::string b = "wikipedia.org"; + std::string c = ".com"; + truncateToDot(a); + truncateToDot(b); + truncateToDot(c); + + cout << a << endl + << b << endl + << c << endl; +} diff --git a/seminar03_initialization/05_string_sum/main.cpp b/seminar03_initialization/05_string_sum/main.cpp new file mode 100644 index 0000000..8ffd497 --- /dev/null +++ b/seminar03_initialization/05_string_sum/main.cpp @@ -0,0 +1,35 @@ +#include +#include +#include + +using namespace std; + +int string_sum(const string& str) { + int res = 0; + int x; + int n = str.size(); + int i = 0; + while (i < n) { + switch (str[i]) { + case '[': + case ',' : + sscanf((str.c_str()) + i + 1, "%d", &x); + res += x; + break; + case ']' : + return res; + case ' ': + break; + default: + break; + } + ++i; + } + return -1; +} + +int main() { + string meow; + getline(cin, meow); + cout << string_sum(meow) << endl; +} diff --git a/seminar03_initialization/06_new/main.cpp b/seminar03_initialization/06_new/main.cpp new file mode 100644 index 0000000..dce9e33 --- /dev/null +++ b/seminar03_initialization/06_new/main.cpp @@ -0,0 +1,34 @@ +#include +#include +#include + +using namespace std; + +int main() { + int *x = new int{123}; + cout << *x << endl; + + string *str = new string{"Cats and Dogs"}; + cout << *str << endl; + + int *xs = new int[]{10, 20, 30, 40, 50}; + for (int i = 0; i < 5; ++i) + cout << xs[i] << " "; + cout << endl; + + string *strs = new string[]{"Cat", "Dog", "Mouse"}; + for (int i = 0; i < 3; ++i) + cout << strs[i] << " "; + cout << endl; + + string_view *str_views = new string_view[]{strs[0], strs[1], strs[2]}; + for (int i = 0; i < 3; ++i) + cout << str_views[i] << " "; + cout << endl; + + delete x; + delete str; + delete[] xs; + delete[] strs; + delete[] str_views; +} diff --git a/seminar03_initialization/08_stringview/main.cpp b/seminar03_initialization/08_stringview/main.cpp new file mode 100644 index 0000000..b54382e --- /dev/null +++ b/seminar03_initialization/08_stringview/main.cpp @@ -0,0 +1,16 @@ +#include +#include "miptstring.cpp" +#include "miptstringview.cpp" + +using namespace std; + +int main() { + mipt::String str = "Meow!!"; + cout << str << endl; + mipt::StringView sv = str; + cout << "string view: " << sv << endl; + char a[] = "nyaa!"; + mipt::StringView sv1 = a; + cout << "string view: " << sv1 << endl; + cout << sv1.at(200) << endl; +} diff --git a/seminar02_encapsulation/classroom_tasks/code/2string/12full_string_solution.cpp b/seminar03_initialization/08_stringview/miptstring.cpp similarity index 68% rename from seminar02_encapsulation/classroom_tasks/code/2string/12full_string_solution.cpp rename to seminar03_initialization/08_stringview/miptstring.cpp index 7a2022e..4234748 100644 --- a/seminar02_encapsulation/classroom_tasks/code/2string/12full_string_solution.cpp +++ b/seminar03_initialization/08_stringview/miptstring.cpp @@ -1,233 +1,221 @@ -#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 +#pragma once + +#include +#include +#include +#include +using std::cout, std::cin, std::endl, std::size_t; + +namespace mipt{ + +char* errorCheckedMalloc(size_t newCapacity) +{ + char* result = static_cast(std::malloc(newCapacity * sizeof(char))); + if (result == NULL) + { + cout << "Error! Out of memory" << endl; + std::exit(1); + } + return result; +} + + +class String +{ +private: + + size_t mSize {0}; + size_t mCapacity {0}; + char* mpData {nullptr}; + +public: + + String(const char* str) + { + size_t strSize = std::strlen(str); + resize(strSize); + std::memcpy(mpData, str, mSize); + } + + String() : String("") {} + String(const String& s) : String(s.cStr()) {} + + String(size_t n, char a) + { + resize(n); + + for (size_t i = 0; i < mSize; ++i) + mpData[i] = a; + } + + ~String() + { + std::free(mpData); + } + + void reserve(size_t capacity) + { + if (capacity <= mCapacity) + return; + + mCapacity = std::max(2 * mCapacity, capacity); + char* newData = errorCheckedMalloc(mCapacity); + + if (mpData) + std::memcpy(newData, mpData, mSize + 1); + + 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); + + std::memcpy(mpData, right.mpData, mSize + 1); + + return *this; + } + + + String operator+(const String& b) + { + String result; + result.resize(mSize + b.mSize); + + std::memcpy(result.mpData, mpData, mSize); + std::memcpy(result.mpData + mSize, b.mpData, b.mSize); + 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]; + } + + const char& operator[](size_t i) const + { + return mpData[i]; + } + + char& at(size_t i) + { + if (i >= mSize) + { + cout << "Error! Index is out of bounds." << endl; + } + return mpData[i]; + } + + void clear() + { + std::free(mpData); + + mSize = 0; + mCapacity = 1; + mpData = errorCheckedMalloc(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; +} + +} diff --git a/seminar03_initialization/08_stringview/miptstringview.cpp b/seminar03_initialization/08_stringview/miptstringview.cpp new file mode 100644 index 0000000..770aa16 --- /dev/null +++ b/seminar03_initialization/08_stringview/miptstringview.cpp @@ -0,0 +1,59 @@ +#pragma once + +#include +#include +#include +#include +using std::cout, std::cin, std::endl, std::size_t; + +namespace mipt { + +class StringView +{ +private: + const char* mpData; + size_t mSize; + +public: + StringView() {; + mSize = 0; + mpData = nullptr; + } + StringView(const StringView& str) { + mSize = str.mSize; + mpData = str.mpData; + } + StringView(const mipt::String& s) { + mSize = s.getSize(); + mpData = s.cStr(); + } + StringView(const char* s) { + mpData = s; + mSize = strlen(s); + } + const char& at(size_t i) + { + if (i >= mSize) + { + throw std::out_of_range("Error! Index is out of bounds."); + std::exit(1); + } + return mpData[i]; + } + const char& operator[](size_t i) + { + return mpData[i]; + } + size_t size() { + return mSize; + } + +}; +} + +std::ostream& operator<<(std::ostream& out, mipt::StringView sv) { + size_t size = sv.size(); + for (int i = 0; i < size; ++i) + out << sv[i]; + return out; +} diff --git a/seminar03_initialization/homework_initialization.pdf b/seminar03_initialization/homework_initialization.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8f84c912165cd4a236f7feb6d76d7f3946e333a9 GIT binary patch literal 143704 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 Kpb%G(fcqa$sm%NU literal 0 HcmV?d00001

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