Перезагрузка функций

Автор: | 23 июля, 2019

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

Рассмотрим следующий пример:

int test(int a)
{
    return  a;
}

int test(int a, int b)
{
   return  a+b;
}

int test(int a,int b,int c)
{
    return a+b+c;

}

Вызовем функцию test:

    int i = test(1);
    qDebug() << i;
    i = test(1,2);
    qDebug() << i;
    i = test(1,2,3);
    qDebug() << i;

Получим следующий результат:

1
3
6

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