Под перезагрузкой понимается переопределение какой-либо функций с различным количеством параметров. Наборы параметров перезагруженной функций могут отличатся порядком следования, количеством и их типом.
Рассмотрим следующий пример:
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
Компилятор самостоятельно выбирает нужную функцию. Важно помнить, что возвращаемый тип должен соответствовать всем функциям участвующих в перезагрузке.