Перегрузкой функции называется использование нескольких функций с одинаковыми именами, но с различными списками параметров. Такие функции должны отличаться друг от друга либо типом одного из параметров либо количеством параметров. Перегрузка функций применяется в тех случаях, когда одно и то же по смыслу действие применяется по разному для разных типов.

Void print(char *str,const int I, const int j)

{cout <<str<<i<<j<<endl;

}

void print(float mas[],const int n)

{

for (int i=0;i<n;i++)

cout << mas[i]<<””;

}

void print( Man m)

{

cout <<m.name<<m.birth_year<<m.pay<<endl;

}

print(«размерность»,3,4);-будет вызван первый тип функции.

Print(a,n);-второй.

Print(m);-третий.

При использовании перегруженных функций необходимо придерживаться следующих правил:

1)перегруженные функции должны находится в одной области видимости,

2)функция не может быть перегруженной, если их описания параметров отличаются только идентификаторами const или использованием ссылки.