Final answer:
When overloading an operator, it does not change the operator's precedence, associativity, arity, or functionality.
Step-by-step explanation:
When overloading an operator, four things are not changed:
- Operator's precedence: Precedence determines the order of execution of operators. Overloading an operator does not change its precedence.
- Operator's associativity: Associativity determines the order in which operators of the same precedence are evaluated. Overloading an operator does not change its associativity.
- Operator's arity: Arity refers to the number of operands an operator takes. Overloading an operator does not change its arity.
- Operator's functionality: Overloading an operator does not change its functionality. It only changes how the operator behaves when applied to user-defined types.