Function overloading is a part of polymorphism. It is very useful for C++ programming. You can create multiple functions of same name by using function overloading in C++

you cannot create functions of same name in C language  but object oriented programming language provide this facilities. function called method in C++ 

Function overloading in c++

when you declare method in class or out of class then you write function_return_type  function_name  (parameter). when you want to create functions of same name then you should change functiona_return_type or method parameters_data_type

example

void sum (int a);

int sum (float a);

int sum (int a, int b);

void sum (char x);

How does Function Overloading work in c++?

when you call any method (with  argument or not  arguments) then compiler will check every method and if any method exact match, compiler execute that function. 

if compiler does not received any exact method that compiler will convert to lower data type to higher data type and check method 

if compiler followed upper two step and not executed any method so compiler give an error

it is called overloaded