Question: What does operator overloading allow you to do?

  1. hide built-in operatores when necessary
  2. add methods to be interpreted by the compiler at runtime
  3. define how enums and other primitive value types work within the rest of the application
  4. define custom functionality for common operators like addition and equality

Answer: The correct answer of the above question is Option D:define custom functionality for common operators like addition and equality