В следующей программе перегружена функция.Один с одним аргументом, другой с двумя аргументами и другой с тремя.В следующем примере это выглядит просто, потому что функция не слишком длинная.Что делать, если функция очень длинная и выглядит уродливо снова и снова писать одну и ту же функцию с разными входными аргументами.Один из способов сделать это может быть variadic functions
.Если я знаю, что моя функция будет принимать только 1,2 или 3 входных аргумента, variadic functions
действительно необходимо?Если так, как я могу это сделать?Примечание: функция с тремя входными аргументами и двумя входными аргументами выполняет различные вычисления.
#include <iostream>
using namespace std;
int function(int a, int b, int c) // All the arguments are always of the same type
{
return a*b*c;
}
int function(int a, int b)
{
int c = a; // Always duplicate the first argument
return a*b*c;
}
int function(int a)
{
int b = a, c = a; // Always duplicate the first argument
return a*b*c;
}
int main()
{
cout<<function(2,3,4)<<"\n"<<function(2,3)<<"\n"<<function(2);
cin.ignore();
return 0;
}
РЕДАКТИРОВАТЬ:
Простите за двусмысленность, ребята.Я редактировал код.