(b) Explain the benefits of making the public interface of a class be as small as possible. When should functions be declared as member functions inside the class definition, and when should they be declared outside the class as separate helper functions (possibly friends - find out what the friend keyword means)? Give illustrative examples.