Поделиться через


Общие сведения о перегрузке

Язык C++ позволяет перегружать функции и операторы. Перегрузка — это предоставление нескольких определений для некоторого имени функции в одной области действия. Компилятор выбирает требуемую версию функции или оператора в зависимости от аргументов, содержащихся в вызове. Например, функция max считается перегруженной функцией. Ее можно использовать в коде так, как показано ниже:

// overview_overload.cpp
double max( double d1, double d2 )
{
   return ( d1 > d2 ) ? d1 : d2;
}

int max( int i1, int i2 )
{
   return ( i1 > i2 ) ? i1 : i2;
}
int main()
{
   int    i = max( 12, 8 );
   double d = max( 32.9, 17.4 );
}

При первом вызове функции, в котором запрашивается максимальное значение двух переменных типа int, вызывается функция max( int, int ). Однако при втором вызове функции аргументы имеют тип double, поэтому вызывается функция max( double, double ).

См. также

Ссылки

Перегрузка