Hi!
Those accessors are needed since those values are protected on the class. So to allow external classes not friend of ValueBase should use those accessors.
See cplusplus.com/doc/tutorial/inheritance/
because encapsulation, inheritance and information/data control…
what would happen if a data is set out of bounds ?
what would happen if path/string contain forbidden char ?