When reading books I was thinking that data hiding was to hide the data from the user
so somebody who is using a C++ executable is an user and data hiding is implemented to hide the hide the data from the user( somebody who is using the exe file produced after compilation).
then my friends cleared my doubt that :
user does not refer's to the end user and it actually refers to some other programmer who is using the code and programming and it has nothing to do with snooping of any data by the end user or at run time.
Now
I am learing C++ and just got a doubt in my mind that if data hiding is required only when there are many programmers working on a project and one programmer implements data hiding so that some piece of data does not get modified by the other programmer.
then, if a single person is doing the complete development then data hiding is not required because he does not have to hide something from himself?
Is this all wrong what I have written above or data hiding is a must just to hide some data from the client code always.
Please provide your valuable inputs.