C++ Exercises

Exercise Projects

Exercises

Dependencies

cluster_cxx C++: Miscellaneous Live-Hacking cluster_cxx_exercises C++ Exercises cluster_cxx_exercises_fh_sensor_first_try FH Sensor OO (First Try) cluster_cxx_exercises_design_patterns Exercises: Design Patterns cluster_cxx_exercises_design_patterns_solutions Solutions cluster_cxx_exercises_stl C++ Exercises: Standard Template Library cluster_cxx_exercises_stl_sensor_repository Exercises: Sensor Repository (std::map) cluster_cxx_exercises_oo_sensors C++ Exercises: Object Oriented Programming - Sensors cluster_cxx03 C++ 03 cluster_cxx03_inheritance_oo Inheritance And Object Oriented Design cluster_cxx03_functions_and_methods Functions and Methods cluster_cxx03_stl Standard Template Library cluster_cxx03_stl_associative_containers Associative Containers cluster_cxx03_stl_algorithm Algorithms cluster_cxx03_data_encapsulation Data Encapsulation cluster_cxx03_exceptions Exceptions cluster_cxx03_templates Templates cluster_linux Linux cluster_linux_basics Linux Basics cluster_linux_basics_shell The Shell (Bash - “Bourne Again Shell”) cluster_linux_basics_intro Introduction: Concepts and Terminology cluster_linux_toolchain Toolchain cluster_c The C Programming Language cluster_c_introduction Introduction cluster_cxx_design_patterns Design Patterns With C++ cxx_exercises_oo_shapes OO Basics, Interfaces (Shapes) cxx03_inheritance_oo_interface Interfaces cxx_exercises_oo_shapes->cxx03_inheritance_oo_interface cxx03_functions_and_methods_methods Methods cxx_exercises_oo_shapes->cxx03_functions_and_methods_methods cxx03_functions_and_methods_static static Methods cxx_exercises_oo_shapes->cxx03_functions_and_methods_static cxx03_functions_and_methods_const const cxx_exercises_oo_shapes->cxx03_functions_and_methods_const cxx03_functions_and_methods_operators Operator Overloading cxx_exercises_oo_shapes->cxx03_functions_and_methods_operators cxx03_data_encapsulation_ctor_custom Custom Constructor cxx_exercises_oo_shapes->cxx03_data_encapsulation_ctor_custom cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo Exercise (FH): Introducing a Sensor Class cxx03_data_encapsulation_classes_objects Classes and Objects cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo->cxx03_data_encapsulation_classes_objects cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo_no_polymorphism Exercise (FH): Replace Sensor cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo_loop_function Exercise (FH): Extract Measurement Loop Into Function cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo_no_polymorphism->cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo_loop_function cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo_loop_function->cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo_random_sensor Exercise (FH): Write A Sensor Class: RandomSensor cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo_random_sensor->cxx_exercises_fh_sensor_first_try_exercise_FH_sensor_oo cxx_exercises_design_patterns_interpreter_basic Exercise: Arithmetic Expression Interpreter cxx_exercises_design_patterns_interpreter_basic->cxx03_inheritance_oo_interface cxx_design_patterns_uml UML Short Introduction cxx_exercises_design_patterns_interpreter_basic->cxx_design_patterns_uml cxx_design_patterns_interpreter Interpreter cxx_exercises_design_patterns_interpreter_basic->cxx_design_patterns_interpreter cxx_exercises_design_patterns_abstract_factory Exercise: Abstract Factory cxx_exercises_oo_sensors_sensor_interface Exercise: Sensor Interface cxx_exercises_design_patterns_abstract_factory->cxx_exercises_oo_sensors_sensor_interface cxx_design_patterns_abstract_factory Abstract Factory cxx_exercises_design_patterns_abstract_factory->cxx_design_patterns_abstract_factory cxx_exercises_design_patterns_adapter Exercise: Adapter cxx_exercises_design_patterns_adapter->cxx_exercises_oo_sensors_sensor_interface cxx_design_patterns_adapter Adapter cxx_exercises_design_patterns_adapter->cxx_design_patterns_adapter cxx_exercises_design_patterns_singleton_flexible Exercise: Singleton (Flexible) cxx_exercises_design_patterns_singleton_inflexible Exercise: Singleton (Inflexible) cxx_exercises_design_patterns_singleton_flexible->cxx_exercises_design_patterns_singleton_inflexible cxx_design_patterns_singleton Singleton cxx_exercises_design_patterns_singleton_flexible->cxx_design_patterns_singleton cxx_exercises_design_patterns_singleton_flexible->cxx_design_patterns_uml cxx_exercises_design_patterns_proxy_round Exercise: Proxy (Rounding Thermometer) cxx_exercises_design_patterns_proxy_round->cxx_exercises_oo_sensors_sensor_interface cxx_design_patterns_sensor_hierarchy Exercise Foundation: Sensor Hierarchy cxx_exercises_design_patterns_proxy_round->cxx_design_patterns_sensor_hierarchy cxx_exercises_design_patterns_proxy_round->cxx_design_patterns_uml cxx_design_patterns_proxy Proxy cxx_exercises_design_patterns_proxy_round->cxx_design_patterns_proxy cxx_exercises_design_patterns_observer Exercise: Adapter cxx_design_patterns_observer Observer cxx_exercises_design_patterns_observer->cxx_design_patterns_observer cxx_exercises_design_patterns_singleton_flexible_strict Exercise: Singleton (Flexible And Strict) cxx_exercises_design_patterns_singleton_flexible_strict->cxx_exercises_design_patterns_singleton_flexible cxx_exercises_design_patterns_singleton_flexible_strict->cxx_exercises_design_patterns_singleton_inflexible cxx_exercises_design_patterns_singleton_flexible_strict->cxx_design_patterns_singleton cxx_exercises_design_patterns_singleton_flexible_strict->cxx_design_patterns_uml cxx_exercises_design_patterns_proxy_remote Exercise: Proxy (Remote Thermometer) cxx_exercises_design_patterns_proxy_remote->cxx_exercises_design_patterns_adapter cxx_exercises_design_patterns_proxy_remote->cxx_exercises_design_patterns_proxy_round cxx_exercises_design_patterns_proxy_remote->cxx_exercises_oo_sensors_sensor_interface cxx_exercises_design_patterns_proxy_remote->cxx_design_patterns_sensor_hierarchy cxx_exercises_design_patterns_proxy_remote->cxx_design_patterns_uml cxx_exercises_design_patterns_proxy_remote->cxx_design_patterns_proxy cxx_exercises_design_patterns_command Exercise: Command cxx_design_patterns_command Command cxx_exercises_design_patterns_command->cxx_design_patterns_command cxx_exercises_design_patterns_interpreter_and_adapter Exercise: Interpreter Combined With Adapter (And A Proxy) cxx_exercises_design_patterns_interpreter_and_adapter->cxx_exercises_design_patterns_interpreter_basic cxx_exercises_design_patterns_interpreter_and_adapter->cxx_design_patterns_sensor_hierarchy cxx_exercises_design_patterns_interpreter_and_adapter->cxx_design_patterns_adapter cxx_exercises_design_patterns_interpreter_and_adapter->cxx_design_patterns_interpreter cxx_exercises_design_patterns_decorator Exercise: Decorator cxx_exercises_design_patterns_decorator->cxx_exercises_oo_sensors_sensor_interface cxx_design_patterns_decorator Decorator cxx_exercises_design_patterns_decorator->cxx_design_patterns_decorator cxx_exercises_design_patterns_singleton_inflexible->cxx_design_patterns_singleton cxx_exercises_design_patterns_singleton_inflexible->cxx_design_patterns_uml cxx_exercises_design_patterns_composite Exercise: Composite cxx_exercises_design_patterns_composite->cxx_exercises_oo_sensors_sensor_interface cxx_design_patterns_composite Composite cxx_exercises_design_patterns_composite->cxx_design_patterns_composite cxx_exercises_design_patterns_solutions_command Solution: Command cxx_exercises_design_patterns_solutions_command->cxx_exercises_design_patterns_command cxx_exercises_design_patterns_solutions_singleton_flexible_strict Solution: Singleton (Flexible And Strict) cxx_exercises_design_patterns_solutions_singleton_flexible_strict->cxx_exercises_design_patterns_singleton_flexible_strict cxx_exercises_design_patterns_solutions_abstract_factory Solution: Abstract Factory cxx_exercises_design_patterns_solutions_abstract_factory->cxx_exercises_design_patterns_abstract_factory cxx_exercises_design_patterns_solutions_proxy_remote Solution: Proxy (Remote Thermometer) cxx_exercises_design_patterns_solutions_proxy_remote->cxx_exercises_design_patterns_proxy_remote cxx_exercises_design_patterns_solutions_proxy_round Solution: Proxy (Rounding Thermometer) cxx_exercises_design_patterns_solutions_proxy_round->cxx_exercises_design_patterns_proxy_round cxx_exercises_design_patterns_solutions_composite Solution: Composite cxx_exercises_design_patterns_solutions_composite->cxx_exercises_design_patterns_composite cxx_exercises_design_patterns_solutions_decorator Solution: Decorator cxx_exercises_design_patterns_solutions_decorator->cxx_exercises_design_patterns_decorator cxx_exercises_design_patterns_solutions_interpreter_basic Solution: Arithmetic Expression Interpreter cxx_exercises_design_patterns_solutions_interpreter_basic->cxx_exercises_design_patterns_interpreter_basic cxx_exercises_design_patterns_solutions_observer Solution: Observer cxx_exercises_design_patterns_solutions_observer->cxx_exercises_design_patterns_observer cxx_exercises_design_patterns_solutions_singleton_inflexible Solution: Singleton (Inflexible) cxx_exercises_design_patterns_solutions_singleton_inflexible->cxx_exercises_design_patterns_singleton_inflexible cxx_exercises_design_patterns_solutions_singleton_flexible Solution: Singleton (Flexible) cxx_exercises_design_patterns_solutions_singleton_flexible->cxx_exercises_design_patterns_singleton_flexible cxx_exercises_design_patterns_solutions_adapter Solution: Adapter cxx_exercises_design_patterns_solutions_adapter->cxx_exercises_design_patterns_adapter cxx_exercises_design_patterns_solutions_interpreter_and_adapter Solution: Interpreter Combined With Adapter (And A Proxy) cxx_exercises_design_patterns_solutions_interpreter_and_adapter->cxx_exercises_design_patterns_interpreter_and_adapter cxx_exercises_stl_filter_greater_10 Exercise: Filter Elements Greater Than 10 cxx_exercises_stl_filter_generic Exercise: Generic Filter cxx_exercises_stl_algo Exercise: Algorithms cxx03_stl_vector_copy_etc std::vector (And std::copy()) cxx_exercises_stl_algo->cxx03_stl_vector_copy_etc cxx03_stl_algorithm_copy copy<> cxx_exercises_stl_algo->cxx03_stl_algorithm_copy cxx03_stl_algorithm_find find<>: Sequential Search, by Equality cxx_exercises_stl_algo->cxx03_stl_algorithm_find cxx_exercises_stl_uniq Exercise: Uniquify A Sequence cxx_exercises_stl_vector Exercise: std::vector<> cxx_exercises_stl_vector->cxx03_stl_vector_copy_etc cxx_exercises_stl_map Exercise: std::map<> cxx03_stl_associative_containers_map std::map cxx_exercises_stl_map->cxx03_stl_associative_containers_map cxx_exercises_stl_filter_odd Exercise: Filter Odd Elements cxx_exercises_stl_sensor_repository_remove_sunny Remove - Sunny Case cxx_exercises_stl_sensor_repository_insert_sunny Insert - Sunny Case cxx_exercises_stl_sensor_repository_remove_sunny->cxx_exercises_stl_sensor_repository_insert_sunny cxx_exercises_stl_sensor_repository_insert_no_overwrite Insert - Not Overwriting Existing Elements cxx_exercises_stl_sensor_repository_insert_no_overwrite->cxx_exercises_stl_sensor_repository_insert_sunny cxx_exercises_stl_sensor_repository_lookup_sunny Lookup - Sunny Case cxx_exercises_stl_sensor_repository_lookup_sunny->cxx_exercises_stl_sensor_repository_insert_sunny cxx_exercises_stl_sensor_repository_insert_sunny->cxx_exercises_stl_map cxx_exercises_stl_sensor_repository_lookup_not_found Lookup - Not Found cxx_exercises_stl_sensor_repository_lookup_not_found->cxx_exercises_stl_sensor_repository_lookup_sunny cxx_exercises_stl_sensor_repository_memory_leaks Memory Leaks? cxx_exercises_stl_sensor_repository_memory_leaks->cxx_exercises_stl_sensor_repository_remove_sunny cxx_exercises_stl_sensor_repository_memory_leaks->cxx_exercises_stl_sensor_repository_insert_no_overwrite cxx_exercises_stl_sensor_repository_memory_leaks->cxx_exercises_stl_sensor_repository_lookup_sunny cxx_exercises_stl_sensor_repository_memory_leaks->cxx_exercises_stl_sensor_repository_insert_sunny cxx_exercises_stl_sensor_repository_memory_leaks->cxx_exercises_stl_sensor_repository_lookup_not_found cxx_exercises_stl_sensor_repository_size_const .size() Is const cxx_exercises_stl_sensor_repository_memory_leaks->cxx_exercises_stl_sensor_repository_size_const cxx_exercises_stl_sensor_repository_remove_not_found Remove - Not Found cxx_exercises_stl_sensor_repository_memory_leaks->cxx_exercises_stl_sensor_repository_remove_not_found cxx_exercises_stl_sensor_repository_size_const->cxx_exercises_stl_sensor_repository_insert_sunny cxx_exercises_stl_sensor_repository_remove_not_found->cxx_exercises_stl_sensor_repository_remove_sunny cxx_exercises_oo_sensors_sensor_w1_factory Exercise: OneWire Sensor Factory cxx_exercises_oo_sensors_sensor_w1 Exercise: OneWire Sensor Class cxx_exercises_oo_sensors_sensor_w1_factory->cxx_exercises_oo_sensors_sensor_w1 cxx_exercises_oo_sensors_sensor_w1->cxx_exercises_oo_sensors_sensor_interface cxx_exercises_oo_sensors_sensor_interface->cxx03_inheritance_oo_interface linux_toolchain_cmake_local CMake: Local Build cxx_exercises_oo_sensors_sensor_interface->linux_toolchain_cmake_local cxx03_introduction Introduction c_introduction_installation Installation cxx03_introduction->c_introduction_installation cxx03_inheritance_oo_basics Inheritance Basics cxx03_inheritance_oo_basics->cxx03_data_encapsulation_classes_objects cxx03_inheritance_oo_polymorphism Polymorphic Usage Of Objects cxx03_inheritance_oo_interface->cxx03_inheritance_oo_polymorphism cxx03_inheritance_oo_virtual_method Virtual Methods cxx03_inheritance_oo_interface->cxx03_inheritance_oo_virtual_method cxx03_inheritance_oo_virtual_destructor Virtual Destructors cxx03_inheritance_oo_interface->cxx03_inheritance_oo_virtual_destructor cxx03_inheritance_oo_destructor Destructors And Inheritance cxx03_inheritance_oo_destructor->cxx03_inheritance_oo_basics cxx03_data_encapsulation_ctor_dtor More Constructors, Destructors cxx03_inheritance_oo_destructor->cxx03_data_encapsulation_ctor_dtor cxx03_inheritance_oo_polymorphism->cxx03_inheritance_oo_virtual_method cxx03_inheritance_oo_virtual_method->cxx03_inheritance_oo_basics cxx03_inheritance_oo_virtual_destructor->cxx03_inheritance_oo_destructor cxx03_inheritance_oo_virtual_destructor->cxx03_inheritance_oo_polymorphism cxx03_inheritance_oo_virtual_destructor->cxx03_inheritance_oo_virtual_method cxx03_functions_and_methods_overloading Overloading cxx03_functions_and_methods_methods->cxx03_functions_and_methods_overloading cxx03_functions_and_methods_references References cxx03_functions_and_methods_static->cxx03_functions_and_methods_references cxx03_functions_and_methods_this this cxx03_functions_and_methods_this->cxx03_functions_and_methods_const cxx03_functions_and_methods_overloading->cxx03_data_encapsulation_classes_objects cxx03_functions_and_methods_const->cxx03_functions_and_methods_methods cxx03_functions_and_methods_references->cxx03_functions_and_methods_this cxx03_functions_and_methods_operators->cxx03_functions_and_methods_static cxx03_stl_basics Standard Template Library: Basics cxx03_templates_class_templates Class Templates cxx03_stl_basics->cxx03_templates_class_templates cxx03_stl_vector_copy_etc->cxx03_stl_basics cxx03_stl_associative_containers_basics Associative Containers cxx03_stl_associative_containers_map->cxx03_stl_associative_containers_basics cxx03_stl_associative_containers_basics->cxx03_stl_basics cxx03_stl_algorithm_copy->cxx03_stl_basics cxx03_stl_algorithm_find->cxx03_stl_basics cxx03_data_encapsulation_c Object Oriented Programming In Good Ol’ C cxx03_data_encapsulation_c->cxx03_introduction cxx03_data_encapsulation_classes_objects->cxx03_introduction cxx03_data_encapsulation_classes_objects->cxx03_data_encapsulation_c cxx03_data_encapsulation_ctor_default Default Constructor cxx03_data_encapsulation_ctor_default->cxx03_data_encapsulation_ctor_custom cxx03_data_encapsulation_ctor_custom->cxx03_data_encapsulation_classes_objects cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_default cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_custom cxx03_exceptions_try_catch try - catch cxx03_exceptions_basics Basics cxx03_exceptions_try_catch->cxx03_exceptions_basics cxx03_exceptions_basics->cxx03_functions_and_methods_operators cxx03_templates_function_templates Function Templates cxx03_templates_class_templates->cxx03_templates_function_templates cxx03_templates_function_templates->cxx03_exceptions_try_catch linux_basics_shell_commandline Commandline linux_basics_intro_overview Overview linux_basics_shell_commandline->linux_basics_intro_overview linux_basics_shell_file_dir_create_rm Creating And Removing Files and Directories linux_basics_shell_cwd Current Working Directory linux_basics_shell_file_dir_create_rm->linux_basics_shell_cwd linux_basics_shell_paths Absolute and Relative Paths linux_basics_shell_file_dir_create_rm->linux_basics_shell_paths linux_basics_shell_cwd->linux_basics_shell_commandline linux_basics_shell_cwd->linux_basics_shell_paths linux_basics_intro_process Processes, Scheduling, Address Spaces linux_basics_shell_cwd->linux_basics_intro_process linux_basics_shell_paths->linux_basics_shell_commandline linux_basics_intro_process->linux_basics_intro_overview linux_toolchain_basics Toolchain: Basics linux_toolchain_basics->linux_basics_shell_file_dir_create_rm linux_toolchain_cmake_stub_course Entire CMake Course linux_toolchain_cmake_local->linux_toolchain_cmake_stub_course linux_toolchain_static_library Object Code Archives/Static Libraries linux_toolchain_cmake_local->linux_toolchain_static_library linux_toolchain_separate_compilation Zooming In: Separate Compilation, and Linking Statically linux_toolchain_separate_compilation->linux_toolchain_basics linux_toolchain_static_library->linux_toolchain_separate_compilation cxx_design_patterns_abstract_factory->cxx03_inheritance_oo_interface cxx_design_patterns_abstract_factory->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_abstract_factory->cxx_design_patterns_singleton cxx_design_patterns_abstract_factory->cxx_design_patterns_uml cxx_design_patterns_sensor_hierarchy->cxx03_inheritance_oo_interface cxx_design_patterns_sensor_hierarchy->cxx_design_patterns_uml cxx_design_patterns_singleton->cxx03_inheritance_oo_interface cxx_design_patterns_singleton->cxx_design_patterns_uml cxx_design_patterns_adapter->cxx03_inheritance_oo_interface cxx_design_patterns_adapter->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_adapter->cxx_design_patterns_uml cxx_design_patterns_uml->cxx03_inheritance_oo_interface cxx_design_patterns_command->cxx03_inheritance_oo_interface cxx_design_patterns_command->cxx_design_patterns_uml cxx_design_patterns_command->cxx_design_patterns_composite cxx_design_patterns_composite->cxx_exercises_design_patterns_proxy_round cxx_design_patterns_composite->cxx03_inheritance_oo_interface cxx_design_patterns_composite->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_composite->cxx_design_patterns_uml cxx_design_patterns_composite->cxx_design_patterns_proxy cxx_design_patterns_interpreter->cxx03_inheritance_oo_interface cxx_design_patterns_interpreter->cxx_design_patterns_uml cxx_design_patterns_decorator->cxx03_inheritance_oo_interface cxx_design_patterns_decorator->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_decorator->cxx_design_patterns_adapter cxx_design_patterns_decorator->cxx_design_patterns_uml cxx_design_patterns_observer->cxx03_inheritance_oo_interface cxx_design_patterns_observer->cxx_design_patterns_uml cxx_design_patterns_proxy->cxx03_inheritance_oo_interface cxx_design_patterns_proxy->cxx_design_patterns_sensor_hierarchy cxx_design_patterns_proxy->cxx_design_patterns_uml