advantage of function overloading in c++