Question: What is correct about the following program?
#include
class Addition
{
int x;
public:
Addition()
{
x = 0;
}
Addition(int xx)
{
x = xx;
}
Addition operator + (int xx = 0)
{
Addition objTemp;
objTemp.x = x + xx;
return(objTemp);
}
void Display(void)
{
cout<< x << endl;
}
};
int main()
{
Addition objA(15), objB;
objB = objA + 5;
objB.Display();
return 0;
}
[A].The program will print the output 20.
[B].The program will report run time error.
[C].The program will print the garbage value.
[D].Compilation fails due to 'operator +' cannot have default arguments.
Answer: Option D