Skip to content
Related Articles

Related Articles

Improve Article

C++ | Function Overloading and Default Arguments | Question 2

  • Last Updated : 28 Jun, 2021

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;
}

(A) 10
(B) 0
(C) 20
(D) Compiler Error


Answer: (D)

Explanation: All default arguments must be the rightmost arguments. The following program works fine and produces 10 as output.

#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;
}


Quiz of this Question

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.
My Personal Notes arrow_drop_up
Recommended Articles
Page :