advantages of encapsulation in c++