Přehled přetížení

 

Publikováno: duben 2016

V jazyce C++ lze provést přetížení funkcí a operátorů. Přetěžování je zvyk poskytování více než jedné definice zadaného názvu funkce ve stejném oboru. Kompilátoru je umožněno vybrat příslušnou verzi funkce nebo operátoru na základě argumentů, se kterými je volána. Například funkce max je považována za přetíženou funkci. Lze v například následující kód:

// 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 );
}

V prvním volání funkce, kde maximální hodnota dvou proměnných typu int je požadována, funkce max( int, int ) je volána. Nicméně v druhém volání funkce jsou argumenty typu double, proto funkce max( double, double ) je volána.

Viz také

Přetížení (C++)