x-yuri насколько я помню в первой книге Рейсига подобная реализация перегрузки. По сути же перегрузка в привычном понимании - это создание нескольких функций с одним именем (через класс допустим...) с указанием типа возвращаемого значения и параметрами. Иными словами, каждое переопределение функции должно иметь разные типы параметров или их количество.
#include <iostream>
using namespace std;
int foo(int i, int j);
char foo(char i);
int main(){
count << foo(10, 20) << '\n';
count << foo('str');
return 0;
}
int foo(int i, int j) {
return i;
}
int foo(char i) {
return i+j;
}
А что касается из серии... то это больше похоже на обсуждение реализации классов в JS