function overloading is have 2 versions of the same function.
operators and constructors are "special" functions in a few ways. Operators are special because they have specific formats and arguments. Ctors are special because they are part of class mechanics.
in a function overload, all that changes are the arguments:
void foo (int x);
void foo (string s);//same function name, different parameters.
You can get more with google, this is the super broad overview starting point info.