Exercise: Access Methods for Members

Description

In exercise Exercise: Simple Method (Users Age By n Years), you had to modify class User: you removed the const specifier from the age member. age is still public, which gives everybody permission to write to age - not only class methods.

Introduce a private section, and put all (not just age) into that section. This will break all code that accesses members directly.

Fix that: introduce access methods for the members.

Dependencies

cluster_cxx03 C++ 03 cluster_cxx03_exercises_userdb Exercises: User Database cluster_cxx03_standard_library_miscellanea The Standard Library: Miscellaneous Topics cluster_cxx03_data_encapsulation Data Encapsulation cluster_cxx03_functions_and_methods Functions and Methods cluster_c The C Programming Language cluster_c_introduction Introduction cxx03_introduction Introduction c_introduction_installation Installation cxx03_introduction->c_introduction_installation cxx03_exercises_userdb_user_ctor Exercise: Transform struct User Into A Class cxx03_standard_library_miscellanea_string std::string cxx03_exercises_userdb_user_ctor->cxx03_standard_library_miscellanea_string cxx03_data_encapsulation_ctor_basics Constructor: Basics cxx03_exercises_userdb_user_ctor->cxx03_data_encapsulation_ctor_basics cxx03_exercises_userdb_user_simple_method Exercise: Simple Method (Users Age By n Years) cxx03_exercises_userdb_user_const_members Exercise: const Members cxx03_exercises_userdb_user_simple_method->cxx03_exercises_userdb_user_const_members cxx03_functions_and_methods_methods Methods cxx03_exercises_userdb_user_simple_method->cxx03_functions_and_methods_methods cxx03_exercises_userdb_user_const_members->cxx03_exercises_userdb_user_ctor cxx03_data_encapsulation_ctor_dtor More Constructors, Destructors cxx03_exercises_userdb_user_const_members->cxx03_data_encapsulation_ctor_dtor cxx03_exercises_userdb_user_access_methods Exercise: Access Methods for Members cxx03_exercises_userdb_user_access_methods->cxx03_exercises_userdb_user_simple_method cxx03_exercises_userdb_user_access_methods->cxx03_functions_and_methods_methods cxx03_data_encapsulation_ctor_dtor->cxx03_data_encapsulation_ctor_basics cxx03_data_encapsulation_introduction Introduction: Classes and Objects cxx03_data_encapsulation_ctor_basics->cxx03_data_encapsulation_introduction cxx03_data_encapsulation_object_copy Object Copy cxx03_data_encapsulation_object_copy->cxx03_data_encapsulation_ctor_dtor cxx03_data_encapsulation_introduction->cxx03_introduction cxx03_functions_and_methods_overloading Overloading cxx03_functions_and_methods_methods->cxx03_functions_and_methods_overloading cxx03_functions_and_methods_overloading->cxx03_data_encapsulation_object_copy