- Must differ in number of parameters or parameter types.
- Overloading based SOLELY on return type is INVALID and causes compilation errors.
- Name Mangling: The compiler generates distinct assembly symbols like
_Z3addiiforadd(int, int)and_Z3addddforadd(double, double).
```text
OVERLOAD RESOLUTION STEPS: