Рубрики

C ++ | Перегрузка функций и аргументы по умолчанию | вопрос 2

Выход?

#include<iostream>

using namespace std;

  

int fun(int x = 0, int y = 0, int z)

return (x + y + z); }

  

int main()

{

   cout << fun(10);

   return 0;

}

(А) 10
(Б) 0
(С) 20
(D) Ошибка компилятора

Ответ: (Д)
Объяснение: Все аргументы по умолчанию должны быть самыми правыми аргументами. Следующая программа работает нормально и выдает 10 в качестве вывода.

#include <iostream>
using namespace std;

int fun(int x, int y = 0, int z = 0)
{  return (x + y + z); }

int main()
{
   cout << fun(10);
   return 0;
}

Тест на этот вопрос

Рекомендуемые посты:

C ++ | Перегрузка функций и аргументы по умолчанию | вопрос 2

0.00 (0%) 0 votes