Functions - Programming

Q1:

What is correct about the following program?
#include<iostream.h> 
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.

ANS:A - The program will print the output 20.

No answer description is available. Let's discuss.