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

Опубликовано: 4 Марта, 2022

Output?

#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) Ошибка компилятора


Ответ: (D)

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

#include <iostream>
используя пространство имен std;

int fun (int x, int y = 0, int z = 0)
{возврат (x + y + z); }

int main ()
{
   cout << fun (10);
   возврат 0;
}


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

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с Базовым курсом C для базового и продвинутого C.
C