cout<<"n = "<
Жалпы функцияның өзгеруінде () сілтеме арқылы берілетін бірдей типтегі екі аргумент бар. Функция нәтижесінде функцияның дәлелдерінің құндылықтарымен алмасу бар. Бұл int типіндегі аргументтерден басқа барлық түрдегі аргументтер үшін болады. Бұл жағдайда бағдарлама өзгерту () функциясының нақты мамандануын жасады. Дәлел мәндерінің
ғана емес, сонымен бірге бұл мәндер де бір-біріне артады. Сондықтан бағдарламаның нәтижесінде келесі нәтижеге қол жеткіземіз:
x = 4.5
y = 2.3
m=9
n=7
Осылайша, жалпыланған функцияны шақырған кезде бірдей алгоритм барлық жағдайларда орындалады, функцияның дәлелдері int типіне жататын жағдайларды қоспағанда. Осыған байланысты жалпыланған функцияның нақты мамандануы ережеге ерекше жағдай жасауға мүмкіндік береді - бұл жағдайда ереже жалпыланған функцияның негізгі нұсқасы болып табылады.
Моя задача:
#include
using namespace std;
int sumElements(int arrI[], int size);
double sumElements(double arrD[], int size);
double sumElements(int arrI[], double arrD[], int size);
int main()
{
setlocale(LC_ALL, "rus");
const int Size = 5;
int ArrInt[Size] {100, 200, 300, 400, 500};
double ArrDouble[Size] {100.1, 200.2, 300.3, 400.4, 500.5};
cout << "Элемент суммасы типа int = ";
cout << sumElements(ArrInt, Size);
cout << endl << endl;
cout << "Элемент суммасы типа double = ";
cout << sumElements(ArrDouble, Size);
cout << endl << endl;
cout << "Элемент суммасы обоих типов = ";
cout << sumElements(ArrInt, ArrDouble, Size);
cout << endl << endl;
return 0;
}
int sumElements(int arrI[], int size)
{